如何备份和恢复PostgreSQL数据库

发布时间 - 2023-02-15 16:08:44

PostgreSQL是一个强大的开源关系数据库系统,它支持丰富的数据类型(如JSON和JSONB类型、数组类型等)和自定义类型。为了保障数据安全和完整性,建议大家做好数据库备份。本文主要介绍下如何备份和恢复PostgreSQL数据库。

要备份PostgreSQL数据库,请登录到数据库服务器,然后切换到Postgres用户帐户,并运行pg_dump,如下所示:

$ pg_dump idcspy > idcspy.sql

pg_dump通过使用“-F”选项支持其他输出格式,其中c表示自定义格式的归档文件,d表示目录格式,t表示tar格式的文件。所有格式都适合输入pg_restore。

$ pg_dump -F c idcspy > idcspy.dump

$ pg_dump -F t idcspy > idcspy.tar

要以目录输出格式转储输出,请使用-f标志指定目标目录。

$ pg_dump -F d idcspy -f idcspydirectory

要备份所有PostgreSQL数据库:

$ pg_dumpall > all_pg_dbs.sql

您可以使用下面命令pgsql恢复转储。

$ pgsql -f all_pg_dbs.sql postgres

通过上述步骤,如无意外,您便成功备份好了PostgreSQL数据库。接下来,您要是想恢复PostgreSQL数据库,则可运行下面命令。

$ psql idcspy < idcspy.sql

使用pg_restore命令进行恢复,如下所示:

$ pg_restore -d idcspy idcspy.dump

$ pg_restore -d idcspy idcspy.tar

$ pg_restore -d idcspy idcspydirectory

如果您的数据库很大,那么您可以通过压缩它来进行备份。

$ pg_dump idcspy | gzip > idcspy.gz

如果您希望备份远程PostgreSQL数据库,可以使用下面的命令。在下面的示例中,IP地址1.1.1.1是远程数据库服务器(用您的远程数据库服务器IP地址替换1.1.1.1), rack是用户名,1123是端口,idcspy是数据库名。

$ pg_dump -U rack -h 1.1.1.1 -p 1123 idcspy > idcspy.sql

PostgreSQL作为先进的数据库管理系统,现在许多主机商也推出了完全托管的PostgreSQL服务,比如Vultr、DigitalOcean等。您可以选择这些托管服务,然后由主机商来维护和管理数据库,您只需专注业务发展。

在线咨询
联系方式
微信二维码
线