Codeship还原PostgreSQL数据库?

时间:2016-07-06 10:30:20

标签: postgresql codeship

我有一小部分数据库作为转储进行集成测试。我使用此命令恢复它:

pg_restore --no-acl --no-owner --verbose --create -h localhost -p 5435 -j 4 -U $PG_USER -d test latest.dump

问题是我在日志中看到:

pg_restore: connecting to database for restore
pg_restore: processing item 5308 ENCODING ENCODING
pg_restore: processing item 5309 STDSTRINGS STDSTRINGS
pg_restore: processing item 5310 DATABASE dlq8aimf0q2pf
pg_restore: creating DATABASE dlq8aimf0q2pf
pg_restore: connecting to new database "dlq8aimf0q2pf"
pg_restore: connecting to database "dlq8aimf0q2pf" as user "postgres"

你可以看到它试图创建" dlq8aimf0q2pf"不是"测试"正如我所说。 我能获得数据库名称吗? ENV var使用这个名字是什么?

1 个答案:

答案 0 :(得分:0)

正如pg_restore doc中关于--create选项所述:

  

使用此选项时,使用-d命名的数据库仅用于发出   初始DROP DATABASE和CREATE DATABASE命令。 所有数据都会恢复到   存档中显示的数据库名称。

如果您有现有数据库test并希望还原到该数据库,请不要使用--create