PostgreSQL备份和还原命令整理大全

寻技术 PostgreSQL 2023年11月06日 147

备份数据库

1.1 打开命令行窗口:点击 开始 菜单 → 搜索框输入 cmd → 点击 命令提示符。

1.2 进入 PostgreSQL 安装目录下的 bin 目录:在命令提示符窗口中输入 cd /d C:\Program Files\PostgreSQL\{版本号}\bin(注意把 {版本号} 替换成实际的版本号),然后按回车键。

1.3 运行备份命令:在命令提示符窗口中输入备份命令,格式如下:

pg_dump -U {用户名} -Fc -f "{备份文件路径}" --encoding=UTF8 --inserts {需要备份的数据库名称}

例如:

pg_dump -U postgres -Fc -f "D:\postgreSQL\sg_prod_backup_0327.sql" --encoding=UTF8 --inserts sg_prod_backup

其中,各参数的含义如下:

  • -U:指定连接数据库时的用户名。
  • -Fc:指定以自定义格式进行备份,这是二进制形式的备份文件,可以还原到不同的 PostgreSQL 版本。
  • -f:指定备份文件的输出路径及文件名。
  • --encoding:指定备份文件使用的编码格式,这里指定为 UTF8。
  • --inserts:指定在备份文件中使用 INSERT 语句,使其更加易于阅读。如果不指定,备份文件将只包含数据。
  • {需要备份的数据库名称}:指定需要备份的数据库名称。

还原数据库

2.1 打开命令行窗口:同备份数据库,打开命令提示符窗口。

2.2 进入 PostgreSQL 安装目录下的 bin 目录:同备份数据库,进入 PostgreSQL 的 bin 目录。

2.3 创建一个空的数据库:在命令提示符窗口中输入 createdb {需要还原的数据库名称},例如 createdb sg_prod_backup。如果已经存在同名数据库,可以先删除或重命名。

2.4 运行还原命令:在命令提示符窗口中输入还原命令,格式如下:

pg_restore -U {用户名} -d {需要还原的数据库名称} "{备份文件路径}"

例如:

pg_restore -U postgres -d sg_prod_backup "D:\postgreSQL\sg_prod_backup_0327.sql"

其中,各参数的含义如下:

  • -U:指定连接数据库时的用户名。
  • -d:指定需要还原的数据库名称。
  • {备份文件路径}:指定备份文件的完整路径及文件名。

验证还原结果

将数据库还原完成以后,可以使用以下命令来验证还原操作是否成功:

psql -U {用户名} -d {需要验证的数据库名称}

例如:

psql -U postgres -d sg_prod_backup

如果连接成功且能够正常读取数据库里的数据,则说明还原操作成功。

总结

关闭

用微信“扫一扫”