2012-02-21 50 views
1

我试图创建一个使用命令的PostgreSQL的pg_dump

pg_dump -U vdc(old db) | psql vdc_bak.sql(backup db); 

有什么不对这里的语法数据库备份?

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

+3

欢迎#1中。请阅读http://stackoverflow.com/questions/how-to-ask,特别是“具体”部分。 – 2012-02-21 18:21:22

+3

“*不起作用*”不是有效的PostgreSQL错误信息 – 2012-02-21 18:42:23

+0

我想知道是否有一圈地狱被折磨的灵魂被迫永恒地调试只有错误信息是“糟糕,没有工作的企业应用程序” ......“和”倒下来,开始繁荣!“ – 2012-02-21 18:47:21

回答

5

从错误信息syntax error near pg_dump和你结束你的命令行用分号事实上,它看起来像你正试图从 PSQL中运行pg_dump

这不起作用。您需要在shell中运行命令(例如bash)提示符。 (在pg_dump附近提供语法错误)在诊断这个问题时起到了关键作用,你的原始问题没有包括它,没有人能够提供帮助。一旦你添加了文本,你几分钟内就得到了答案。)

13

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

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

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

此外,该(旧DB)参数是完全错误的运行。该数据库没有投入括号的pg_dump,e.g:

pg_dump -U user1 dbname_old_db | psql -U user2 dbname_new_db 

还是那句话:你必须在命令提示符下运行这个,而不是从SQL工具

相关问题