Postgres数据库迁移

3,926 阅读1分钟

部署在服务器上的项目避免不了各种原因要进行数据迁移,postgresSQL自带一个客户端pgAdmin,里面具有备份恢复的选项,但当数据库庞大的时候,出差的概率就会增大,这时候可以考虑使用pg_dump,psql两个命令。

查看数据库大小

一般在迁移之前,先看一下数据库的大小:

select pg_size_pretty(pg_database_size('david'));

备份数据库

/usr/PostgreSQL/9.6/bin/pg_dump -h 10.45.4.240 -U postgres databasename > databasename.bak

登录到安装数据库的主机,执行如上的命令,pg_dump是备份数据库命令,10.45.4.240是数据库的ip地址(必须保证数据库允许外部访问的权限),当然本地的数据库ip写 localhost;postgres 是数据库的用户名;databasename 是数据库名。

恢复数据库

/uer/PostgreSQL/9.6/bin/psql -h localhost -U postgres -d databasename < databasename.bak

psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复;postgres 就是要恢复到哪个数据库的用户;databasename 是要恢复到哪个数据库。