在 Ubuntu 11.04 64 位上新安装 PostgreSQL 和 pgAdmin。
在使用 pgAdmin 恢复数据库模式时,它会启动以下命令:
/usr/bin/pg_restore --host opusdb --port 5432 --username postgres --dbname \"mydb\" --verbose "mydb.backup"
pg_restore: connecting to database for restore
pg_restore: [archiver (db)] connection to database ""mydb"" failed: FATAL: database ""mydb"" does not exist
pg_restore: *** aborted because of error
Process returned exit code 1.
问题是由于数据库名称前后的 \" 引起的。以下在命令行上工作(注意缺少的 \ 字符):
/usr/bin/pg_restore --host opusdb --port 5432 --username postgres --dbname "mydb" --verbose "mydb.backup"
不确定 pgAdmin 是否突然使用了不同的语法,或者 pg_restore 不再理解 \"。这可能与 Ubuntu 的 64 位安装有任何关系吗?