PostgreSQL:单表的pg_dump

5

我是PostgreSQL的初学者,正在使用以下命令进行备份:

sudo -u postgres pg_dumpall > /~/postgreBackup.SQL

这个命令很好用! 现在我想备份模式"SchemaName"中的单个表"TableName",并尝试了以下命令:

sudo -u postgres pg_dump --table "SchemaName"."TableName" > /~/Dummy.SQL

pg_dump: 找不到匹配的表

该如何使其工作?


实际的表名是什么(请从成功转储中逐字引用),第二个命令中使用的确切“--table”参数是什么? - Bergi
你的命令中没有指定数据库。另外,使用 psql -U postgres -d $Your_Database -c '\d' 命令检查你的模式和表名。 - mivk
抱歉,我完全迷失了:数据库是“myDatabase”,它有一个名为“public”的模式和两个用于工作的模式“myScheme”和“SandBox”。在“MyScheme”中,我有一个名为“TableName 01”的表需要被转储。 - StOMicha
psql -U postgres -d $"myDatabase" -c '\d' 的结果是公共模式下关系列表... - StOMicha
1个回答

9

当您拥有区分大小写的表和模式名称时,您必须正确引用表名。以下命令应该可以正常工作,因为我已经在我的端口成功执行了它。

请确保在此命令中使用正确的数据库、模式和表的大小写敏感名称。

./pg_dump --dbname="myDatabase" --host=localhost --port=5432 --username=postgres  --table='"MyScheme"."TableName 01"' --file=Dummy

或者

./pg_dump --dbname="myDatabase" --host=localhost --port=5432 --username=postgres  --table='"MyScheme"."TableName 01"' > ~/Dummy.SQL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接