PostgreSQL pg_dump

时间:2012-02-21 18:13:02

标签: postgresql

我正在尝试使用命令

创建数据库备份
pg_dump -U vdc(old db) | psql vdc_bak.sql(backup db);

这里的语法有什么问题?

它告诉“pg_dump附近的语法错误”

2 个答案:

答案 0 :(得分:22)

你仍然没有向我们展示大局,但“语法错误”似乎表明你是从SQL客户端工具(psql,pgAdmin,...)中运行的

pg_dumppsql命令行程序,而不是SQL语句。

您需要从命令提示符(也称为shell)

运行它们

此外,(旧数据库)参数完全错误。数据库不会放入pg_dump的括号中,例如:

pg_dump -U user1 dbname_old_db | psql -U user2 dbname_new_db

同样:您必须从命令提示符运行它,而不是从SQL工具

中运行

答案 1 :(得分:6)

从错误消息syntax error near pg_dump以及您使用分号结束命令行的事实,看起来您正试图在 psql中从运行pg_dump。 / p>

这不起作用。您需要在shell(例如bash)提示符下运行命令。

(顺便说一句,提供错误消息的文本(pg_dump附近的语法错误)对于诊断此问题至关重要。您原来的问题没有包含它,没有人能够提供帮助。一旦添加了文本,你在几分钟内得到答案。)