1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

PostgreSQL导入导出工具之pg_dump

介绍:了解pg_dump

作为备份PostgreSQL数据库的实用工具,pg_dump能够生成一致性的备份,即使当前数据库正在使用。它提供了多种输出文件格式,包括脚本文件格式和归档文件格式,并且支持并行转储。

PostgreSQL导入导出工具之pg_dump

实例:将源数据库转储到文件中

在将源数据库转储到文件中之前,需要先查看数据库的大小,并选择合适大小的目录存放文件。转储时需要使用如下命令:

su-postgres pg_dump -Uroot -p10001 -dpgtt -b -f /app/pg/pgtt_data20211022.sql

其中,-b选项可包含LOB表。

接着,将转储文件复制到目标端服务器上,使用如下命令:

scp pgtt_data20211022.sql postgres@xxx.xxx.xxx.xxx:/app/pg

在目标端服务器上创建新的数据库,并将转储文件还原。需要使用如下命令:

CREATE USER pgtt WITH ENCRYPTED PASSWORD xxxxxx;
CREATE DATABASE pgtt OWNER pgtt TEMPLATE template1;
REVOKE CONNECT ON DATABASE pgtt FROM PUBLIC;
GRANT CONNECT ON DATABASE pgtt TO pgtt;

su -postgres
psql -Uroot -p10001 -dpgtt -f /app/pg/pgtt_data20211022.sql

如果服务器之间的连接速度很快并且数据库的大小不大,则可以使用以下命令:

pg_dump -C -hlocal -Ulocaluser sourcedb | psql -hremote -Uremoteuser targetdb

注意事项

在使用pg_dump备份PostgreSQL数据库时,需要注意以下问题:
● 转储文件不包含优化器用来做出查询计划决定的统计信息,因此在导入完成后需要做全库的ANALYZE。
● 如果需要备份Cluster中数据库共有的全局对象,例如角色和表空间,需要使用pg_dumpall。
● 转储期间不会阻塞其他用户访问数据库,但是会阻塞那些需要排它锁的操作。

以上就是关于PostgreSQL导入导出工具之pg_dump的介绍,希望对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6369.html