pg_dump错误:不支持“仅关系”

时间:2018-05-31 19:25:38

标签: sql postgresql amazon-redshift

我目前正在尝试pg_dump,但它发出的错误似乎无法找到任何相关信息。

我正在尝试使用以下命令转储表archive_table_test

pg_dump -h xxx -p xxx -d xxx -U xxx -W --table=archive_table_test --column-inserts > ~/dumps/test_dump_5_31.sql

但我收到以下错误:

pg_dump: [archiver (db)] query failed: ERROR: "ONLY relation" is not supported

我找不到Postgres用户收到此错误的任何示例,因此我不知道从哪里开始。

我想要的结果是标准pg_dump输出到带有insert语句的所有.sql文件。

任何帮助都会很高兴。

PostgreSQL 8.0.2,Redshift 1.0.2369

1 个答案:

答案 0 :(得分:2)

在Redshift中,pg_dump只导出模式,不是数据

pg_dump -h XXX -U XXX -d XXX -p 5439 -W --table=XXXX.dim_item_sku > abc.sql

限制:pg_dump仍会产生一些特定于postgres的语法,并且还忽略了表的Redshift SORTKEY和DISTSTYLE定义。

另一个不错的选择是使用已发布的AWS管理脚本视图来生成DDL。它处理SORTKEY / DISTSTYLE,但是我发现它在捕获所有FOREIGN KEY时是错误的,并且没有处理表权限/所有者。你的milage可能会有所不同。

如果你想要转储数据,你仍然需要在每个表上使用UNLOAD命令。