记一次 PostgreSQL 数据库迁移

背景

前段时间,因机器迁移,需要将整个 PG 数据库迁移到新机器里,之前一直没做过 PG 库的操作,虽然是测试环境下的迁移,也稍微整理记录下来:

准备

  1. 确保当前环境连接的应用已停止。

  2. 有能直连数据库机器的客户端机器,或者能直接登录数据库机器。

  3. 客户端 pg_dump,psql 版本最好和数据库端的版本一致。

备份

使用 pg_dump 命令,该命令在 PG 安装目录的 bin 目录下。

执行:

1
2
./pg_dump -f filename -U username -h hostname -p port databasename
-- 例:./pg_dump -f test.sql -U zhangsan -h 127.0.0.1 -p 5432 test

参数说明:

  • filename:要生成的备份文件名称

  • username:数据库用户名

  • hostname:数据库主机名

  • port:数据库端口号

  • databasename:要备份的本地数据库名

恢复

同样在 PG 安装的 bin 目录,执行 psql 命令:

1
2
./psql -f filename -U username -h hostname -p port databasename
-- 例:./psql -f test.sql -U zhangsan -h 127.0.0.1 -p 5432 test

参数说明:

  • filename:要生成的备份文件名称

  • username:数据库用户名

  • hostname:数据库主机名

  • port:数据库端口号

  • databasename:要备份的本地数据库名