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

Posted

技术标签:

【中文标题】pg_dump 错误:不支持“仅关系”【英文标题】:pg_dump error: 'ONLY relation' not supported 【发布时间】:2018-05-31 19:25:38 【问题描述】:

我目前正在尝试执行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

【问题讨论】:

【参考方案1】:

在 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命令。

【讨论】:

以上是关于pg_dump 错误:不支持“仅关系”的主要内容,如果未能解决你的问题,请参考以下文章

pgs中的pg_dump版本不匹配

使用pg_dump导出postgres db不起作用,数据库“db_name”不存在

postgresql学习笔记备份与恢复

直接使用 pg_dump RDS 到 S3(无需中介)

js错误提示:对象不支持此属性或方法。

如何仅针对表而不针对触发器和函数执行 pg_dump?