我正在构建一个由多个开发人员开发的API,我们需要有相同的数据库用于测试目的。我们使用UUID,所以如果我们都使用相同的UUID将是理想的。我似乎找不到一种方法来导出数据库内容作为普通的可执行SQL,最好使用插入语句。没有删除表,没有数据库的重建。
我希望最终结果类似于:
INSERT INTO public.bla_bla(
id, bla_bla, bla_bla1, bla_bla2, bla_bla3, bla_bla4)
VALUES (?, ?, ?, ?, ?, ?);
INSERT INTO public.bla_bla(
id, bla_bla, bla_bla1, bla_bla2, bla_bla3, bla_bla4)
VALUES (?, ?, ?, ?, ?, ?);
...
我使用pgAdmin 4作为用户界面。但也有Dbeaver。
我已尝试使用备份向导导出数据。
- 在数据库上,-如果仅选择数据,则不生成结果。如果使用“节”类别滑块,则结果包括不需要的drop语句,并且没有可读的insert语句。
- 在模式上-同上
- 生成CSV文件,这不是理想的。
我试着按照这里的步骤操作,但它们没有产生我需要的结果。How to export Postgres schema/data to plain SQL in PgAdmin 4
在这一点上,我正在考虑只做手工。
2条答案
按热度按时间twh00eeo1#
使用
pg_dump
--data-only
将跳过CREATE TABLE语句(或任何其他DDL)的创建。如果需要,可以添加
--rows-per-insert <nnnn>
,以便只为多行创建一个INSERT语句。juud5qan2#
您可以尝试pg_dump,并使用选项format plaintext和--column-inserts。
更多详情请阅读here