我正在尝试使用命令
创建数据库备份pg_dump -U vdc(old db) | psql vdc_bak.sql(backup db);
这里的语法有什么问题?
它告诉“pg_dump附近的语法错误”
答案 0 :(得分:22)
你仍然没有向我们展示大局,但“语法错误”似乎表明你是从SQL客户端工具(psql,pgAdmin,...)中运行的
pg_dump
和psql
是命令行程序,而不是SQL语句。
您需要从命令提示符(也称为shell)
运行它们此外,(旧数据库)参数完全错误。数据库不会放入pg_dump的括号中,例如:
pg_dump -U user1 dbname_old_db | psql -U user2 dbname_new_db
同样:您必须从命令提示符运行它,而不是从SQL工具
中运行答案 1 :(得分:6)
从错误消息 这不起作用。您需要在shell(例如 (顺便说一句,提供错误消息的文本(pg_dump附近的语法错误)对于诊断此问题至关重要。您原来的问题没有包含它,没有人能够提供帮助。一旦添加了文本,你在几分钟内得到答案。)syntax error near pg_dump
以及您使用分号结束命令行的事实,看起来您正试图在 psql中从运行pg_dump
。 / p>
bash
)提示符下运行命令。