PostgreSQL: pg_dump在命令提示符中无法执行

5
我打开了一个SQL Shell(psql),输入我的信息:用户名、端口、主机、数据库和密码。

然后,数据库的名称就会出现:

Testing_Database-#

然后我尝试将一个表格导出到文件中,像这样:

pg_dump -h BigSever -p 5432 -t customer_order > plzwork.sql 

我的电脑上没有显示任何内容。我很快回来了。

Testing_Database-#

我在整个电脑上搜索它,然后在网上阅读建议尝试找到它。

pg_dump -h BigSever -p 5432 -t customer_order > C:\plzwork.sql 

它也没有起作用。它抛出了一个错误,因此我尝试了另一个示例。
pg_dump -h BigSever -p 5432 -t customer_order > "C:\\plzwork.sql"

并且获得了

Testing_Database-#

但是,它并没有像预期的那样出现在C盘上。所以,我现在想知道我是否应该收到一个完成通知?如果它正在工作,为什么它不将结果发送到我能够找到的地方呢?
此外,我尝试使用自己的本地主机进行转储,得到了相同的结果。

3
pg_dump is not a SQL or psql command. You run that on the command line of your operating system e.g. cmd.exe - user330315
相关链接:https://dev59.com/e2Yr5IYBdhLWcg3w499- - user330315
好的,对不起,一开始我被告知这不是SQL命令,所以我用psql来执行了。现在我不应该使用cmd.exe,因为我通过命令提示符登录。在命令中输入pg_dump -h BigSever -p 5432 -t customer_order > plzwork.sql,但我得到了访问被拒绝的错误。 - user1778743
3个回答

11
如果您想使用pg_dump命令,该命令是用于普通命令提示符而不是psql命令提示符的。 请进入命令行并运行:pg_dump tablename dbname > filename.sql 您可以输入pwd以确保自己在哪里。 然后将文件Winscp到目标服务器。在目标服务器上,登录psql命令。 运行:psql dbname < filename.sql

1
非常感谢。虽然我之前已经备份了多次,但我不知道为什么错过了这个细节,一直在想为什么它不起作用。 - Promise Preston

1

如果您是Mac用户:

/Applications/Postgres.app/Contents/Versions/9.6/bin/pg_dump -h BigSever -p 5432 -t customer_order > plzwork.sql

如@MrKarma4u所述,此命令必须在常规命令提示符下运行(而非在psql中运行)。


0
当运行终端命令时,您应该使用">"加上文件名"result.txt"来标识输出文件,并确保您的路径正确。
它应该看起来像这样:

pg_dump -h BigSever -p 5432 -t customer_order > "/path/to/file/plzwork.sql"


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