Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 迁移postgres数据库的正确方法?_Sql_Database_Postgresql_Pg Dump_Database Dump - Fatal编程技术网

Sql 迁移postgres数据库的正确方法?

Sql 迁移postgres数据库的正确方法?,sql,database,postgresql,pg-dump,database-dump,Sql,Database,Postgresql,Pg Dump,Database Dump,我有一个开发版本和一个在django中运行的生产版本 我最近开始用大量数据填充它,发现django loaddata试图在将其添加到db之前将所有内容加载到内存中,而我的文件太大了 将数据从开发机器推送到生产机器的正确方法是什么 我确实 pg_dump -U user -W db ./filename.sql 然后在生产服务器上我做了 psql dbname < filename.sql 他们中有很多人,但就像我说的,一切似乎都在那里。这样做对吗 编辑:我在生产机器中有包含信息的数据库

我有一个开发版本和一个在django中运行的生产版本

我最近开始用大量数据填充它,发现django loaddata试图在将其添加到db之前将所有内容加载到内存中,而我的文件太大了

将数据从开发机器推送到生产机器的正确方法是什么

我确实

pg_dump -U user -W db ./filename.sql
然后在生产服务器上我做了

psql dbname < filename.sql
他们中有很多人,但就像我说的,一切似乎都在那里。这样做对吗


编辑:我在生产机器中有包含信息的数据库,我不想在导入前截断表。

这是我使用的脚本:

 pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql

编辑:正如您在注释中所说的,您不希望在导入之前截断表,您不能将这种类型的导入到生产数据库中。我建议在导入dev数据库转储之前清空您的生产数据库。

如果我没有弄错的话,这只负责转储端,而不负责加载到另一台计算机,对吗?@deltaskelta是的,您在导入之前验证是否有空数据库吗?不,就是这样。我想能够写一个数据库的东西已经在它。我可以把它清空,但每次我想更新我的产品时,这都会有点痛苦environment@deltaskelta在这种情况下,您不能像尝试那样进行导入。因为您不知道当前的生产数据库中有哪几行import@deltaskelta我用你在评论中提供的最后信息编辑你的问题
 pg_dump -d DATABASE_NAME -U postgres --format plain --inserts > /FILE.sql