gpt4 book ai didi

ruby-on-rails - 导入数据后 Postgresql 转储不会更正数据库

转载 作者:行者123 更新时间:2023-11-29 12:38:24 24 4
gpt4 key购买 nike

我的目标是将 .sql 转储从我的服务器导入到 project_devel 数据库中。我遇到了一个令人沮丧的问题,当我从 .sql 文件加载数据时,-d [数据库名称] 选项似乎被忽略了。相反(正如您在输出中看到的大约 12 行),.sql 文件可能告诉导入程序导入另一个数据库。关于为什么会发生这种情况以及如何强制数据进入我用 -d 指定的数据库的任何线索?

我最终通过将 database.yml 中的开发数据库名称更改为 project_prod 来解决这个问题,因为我的目标只是在本地加载生产数据并进行调试。

我用来导入的命令:

YeastFlakes:newproject new$ psql -h /tmp -d project_devel -f prod_dump_2013-02-07_09-00.sql 

输出:

You are now connected to database "postgres" as user "new".
SET
SET
SET
psql:prod_dump_2013-02-07_09-00.sql:15: ERROR: role "project" already exists
ALTER ROLE
psql:prod_dump_2013-02-07_09-00.sql:17: ERROR: role "postgres" already exists
ALTER ROLE
psql:prod_dump_2013-02-07_09-00.sql:19: ERROR: role "replication" already exists
ALTER ROLE
psql:prod_dump_2013-02-07_09-00.sql:31: ERROR: database "project_prod" already exists
REVOKE
REVOKE
GRANT
GRANT
You are now connected to database "project_prod" as user "new".
SET
SET
SET
SET
SET
SET
CREATE EXTENSION
COMMENT
SET
SET
SET
psql:prod_dump_2013-02-07_09-00.sql:85: ERROR: relation "active_admin_comments" already exists
ALTER TABLE
psql:prod_dump_2013-02-07_09-00.sql:99: ERROR: relation "active_admin_comments_id_seq" already exists

输出会持续一段时间....

最佳答案

PostgreSQL documentation似乎采用了一种非常简单的 SQL 转储/恢复方法;

Dump: 

$ pg_dump dbname > outfile

Restore:

$ psql dbname < infile

有什么不使用该方法的特殊原因吗?

关于ruby-on-rails - 导入数据后 Postgresql 转储不会更正数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com