Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Database 如何将postgresql中的模式从本地服务器迁移到生产服务器?_Database_Postgresql_Stored Procedures_Schema_Dbmigrate - Fatal编程技术网

Database 如何将postgresql中的模式从本地服务器迁移到生产服务器?

Database 如何将postgresql中的模式从本地服务器迁移到生产服务器?,database,postgresql,stored-procedures,schema,dbmigrate,Database,Postgresql,Stored Procedures,Schema,Dbmigrate,我在本地postgres服务器上创建了一个数据库、一些表和存储过程。现在,我想自动将这些东西迁移到我的生产服务器,而无需重新从头开始创建所有内容。这应该是很直截了当的,但是我没有找到任何书籍试图解释这一点。因此,我想知道如何才能做到这一点?有人能提供一些教程的链接吗?谢谢 出于这个目的,Postgres有很好的教程。对于单模式指令,可以是以下内容: pg_dump -o -h hostname -U db_username -d db_name -n schema_name > your_

我在本地postgres服务器上创建了一个数据库、一些表和存储过程。现在,我想自动将这些东西迁移到我的生产服务器,而无需重新从头开始创建所有内容。这应该是很直截了当的,但是我没有找到任何书籍试图解释这一点。因此,我想知道如何才能做到这一点?有人能提供一些教程的链接吗?谢谢

出于这个目的,Postgres有很好的教程。对于单模式指令,可以是以下内容:

pg_dump -o -h hostname -U db_username -d db_name -n schema_name > your_schema.dump
示例还原命令:

psql -h hostname -U db_username db_name < your_schema.dump
psql-h hostname-U db\U username db\U name
您的意思是在本地数据库中将表和过程创建到生产数据库,而无需复制表中的数据,对吗?并确认这两个数据库都是PostgreSQL,不是吗?@wingedparter是的,只是模式。你使用了错误的过程。将您所做的每个更改放入(SQL)脚本中,然后将这些脚本存储在版本控制系统中。部署到生产环境时,请在生产环境中运行这些迁移脚本。从长远来看,任何其他事情都会给你带来很多麻烦。您可能希望查看Liquibase或Flyway等工具,它们对管理模式迁移有很大帮助steps@a_horse_with_no_name:我想用VCS来管理所有的脚本。但是,跟踪更改并手动进行更改会很麻烦吗?尤其是当我在服务器端启动之前有几个提交,每个提交都有几个更改时,情况更是如此。这就是为什么我建议使用Liquibase(或Flyway)。一旦您在生产环境中通过了初始版本,您当前的解决方案将在某个时候失败。