为确保备份任务能够顺利进行,在新建备份任务前,需要按照以下步骤去检查环境是否达到备份的要求。
单机环境前置检查
-
检查实例状态是否运行。
在进行PostgreSQL数据库备份时,要求实例必须处在开启状态。
-
若已经配置好环境变量,检查方法为登录Linux系统后台,在PostgreSQL数据库用户下执行以下命令查看实例状态,若显示running,则代表实例正在运行。
pg_ctl -D /PG/pgsql-9.2.2/data status
---查看cluster server状态pg_ctl -D /var/lib/pgsql/data start
---启动cluster serverpg_ctl -D /var/lib/pgsql/data stop
---关闭 cluster serverpsql
---连接系统自带数据库postgres -
若未配置环境变量,在PostgreSQL数据库用户下进入到数据库安装时的bin目录下,然后以脚本方式执行以下命令。
./pg_ctl -D /PG/pgsql-9.2.2/data status
---查看cluster server状态./pg_ctl -D /var/lib/pgsql/data start
---启动cluster server./pg_ctl -D /var/lib/pgsql/data stop
---关闭 cluster server./psql
---连接系统自带数据库postgres注意:
如果数据库实例服务处于停止状态,请协调用户系统管理员,将数据库实例服务开启至正在运行后再进行备份,对于正常提供生产业务的数据库来说,数据库实例服务肯定是运行状态,否则无法提供业务。
-
-
检查实例端口号是否配置,默认端口号为5432。设置实例端口号,进入实例数据目录,编辑postgresql.conf文件,设置实例端口号与监听。
listen_addresses = '*'
---表示监听所有地址port = 5432
---表示监听5432端口,可设置成其他端口号max_connections = 100
---表示最大连接数为100。 -
设置开启归档日志与指定归档日志路径。
wal_level = archive
#此处不支持配置成minimal,其余可以根据实际场景设置archive_mode = on
#支持on,alwaysarchive_command = 'cp %p /home/postgres/backups/archived_log/%f'
其中/home/postgres/backups/archived_log/表示要存放归档日志(WAL日志)的路径,该路径必须存在,且postgres用户有读写权限。如下图所示:
开启归档日志等级为archive
开启归档日志与设置归档路径
注意:修改完postgresql.conf配置文件,需要重新启动数据库服务。
-
若需要开启实例登录密码验证,则编辑data目录下的pg_hba.conf文件,将METHOD的值改为md5。
注意:
- 修改完配置文件,需要重新启动数据库服务。
- 此选项可选,不是必须要修改的。
- 默认METHOD值为trust,数据库实例授权时,不会验证用户名、密码正确性,即使用错误的用户名密码,授权状态为成功,不会有错误提示。
集群环境前置检查
-
检查实例状态是否运行。参考单机的检查方法。
-
检查实例端口号是否配置,默认端口号为5432。参考单机的检查方法。
-
检查是否开启归档日志与指定归档日志路径。
wal_level = archive/hot_standby/replica
#这里根据实际场景不同,设置的参数也不同archive_mode = on
#支持on,alwaysarchive_command = 'cp %p /home/postgres/backups/archived_log/%f'
其中/home/postgres/backups/archived_log/表示要存放归档日志(WAL日志)的路径,该路径必须存在,且postgres用户有读写权限。如下图所示:
开启归档日志等级为hot_standby
开启归档日志等级为archive
开启归档日志与设置归档路径
注意:修改完postgresql.conf配置文件,需要重新启动数据库服务。
-
若需要开启实例登录密码验证,则编辑data目录下的pg_hba.conf文件,将METHOD的值改为md5。参考单机的设置方法。