有些时候我们需要将数据库从development环境迁移到production环境,此时我们只需要将一个空的数据库(包括表结构等)迁移过去就可以了,那些数据(一般都是开发时的测试数据)则不需要了。
用postgresql提供的工具就可以做到,步骤很简单:
1) 先导出数据库
命令如下:
pg_dump –s –h服务器名或者IP数据库名 > 文件名.sql
例如:
$pg_dump –s –h localhostmydatabase > mydb_export.sql
2)在production环境中先手动创建一个空白数据库,数据库名要和development环境中的保持一致。(例如:mydatabase)
3)导入至production环境
将先前导出的文件mydb_export.sql复制到production环境,然后运行命令:
psql -f 文件名.sql 数据库名
例如:
$psql -f mydb_export.sql mydatabase
大功告成!
PS:
如果是在windows上运行的话,由于很多时候,当前的用户不一定是运行postgresql的用户,所以用这些命令的时候需要加一个参数‘ -U 用户名’
例如:
c:/>psql -U postgres -f mydb_export.sql mydatabase
然后系统会提示你输入密码。