首页 > 解决方案 > pg_dump 错误:不支持“仅关系”

问题描述

我目前正在尝试做一个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输出到.sql带有插入语句和所有的文件中。

任何帮助将不胜感激。

PostgreSQL 8.0.2,红移 1.0.2369

标签: sqlpostgresqlamazon-redshift

解决方案


在 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,但我发现它在捕获所有外键时有问题,并且不处理表权限/所有者。您的里程可能会有所不同。

如果您还想转储数据,不幸的是,您仍然需要在每个表上使用UNLOAD命令。


推荐阅读