部署在服务器上的项目避免不了各种原因要进行数据迁移,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 是要恢复到哪个数据库。