使用Amanda Enterprise备份PostgreSQL

使用Amanda Enterprise备份PostgreSQL

必须是以下PostgreSQL版本之一:

  • PostgreSQL 8.x,9.x
  • PostgreSQL加8.3

运行PostgreSQL的客户端必须具有GNU tar 1.23或更高版本。
 

Amanda Enterprise Server的更改
 

如果备份临时目录和状态目录与Amanda默认值不同,请编辑 /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes 将以下行添加到 app_ampgsql_用户:

  • property "TMPDIR" "Path_to_temp_dir"
  • property "STATEDIR" "Path_to_state_dir"

运行PostgreSQL服务器的Amanda客户端的更改
 

为您的预写日志创建目录,并确保amandabackup能够读取/写入:

# mkdir /var/lib/amanda/postgres
# chown amandabackup:post
gres /var/lib/amanda/postgres
 

编辑PostgreSQL配置文件($ pgdatadir / postgres.conf)。
 

archive_mode = on
archive_command = 'cp %p /var/lib/amanda/postgres/%f'
wal_level = archive # only required on Postgres 9.x or greater, acceptable options being archive or hot_standby

 

编辑 阿曼达-client.conf 配置文件,该文件可以位于 /etc/amanda/backup_set_name/amanda-client.conf (可能需要创建backup_set_name目录)或全局位于 /etc/amanda/amanda-client.conf。 下面的设置说明。
 

property "PG-DATADIR" "Path_to_PSQL_Data_Dir"
property "PSQL-PATH" "Path_to_PSQL_Binary"
property "PG-ARCHIVEDIR" "Path_to_PSQL_Archive_Dir"
property "PG-CLEANUPWAL" "Whether_to_clean_up_WAL_Yes_or_No"
property "PG-USER" "PostgreSQL_username"
property "PG-PASSWORD" "PSQL_Password"
property "PG-HOST" "hostname_or_directory_of_socket_file"
property "PG-PORT" "TCP_port_to_connect_to. Default: 5432"
property "PG-DB" "Database_name"

 

要为服务器上的多个PostgreSQL实例指定参数,请在与备份目录相对应的属性名称中添加前缀。 例如:
 

property "PG-USER" "amandabackup"
变为:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
PostgreSQL数据目录的路径。
 

Path_to_PSQL_Archive_Dir
备份期间PostgreSQL服务器将WAL段缓存到的路径,然后由Zmanda Postgres代理将其归档。 不应将其设置为PostgreSQL服务器的pg_xlog目录! 在PostgreSQL数据目录外指定一个路径,在该路径下archive命令将在完全备份运行之间复制要存储的文件。 PostgeSQL用户必须在此目录中具有读取,写入和执行特权。 Zmanda建议使用系统组来管理权限,而不是向所有用户授予访问权限,例如将amandabackup用户添加到Postgres组。 指定的路径应该是PostgreSQL配置文件中archive_command的目标目录。
 

hostname_or_directory_of_socket_file
指定主机名(如果适用,则为localhost)或套接字文件所在的目录。 以/开头的条目被解释为套接字文件目录(仅是目录,例如/ tmp,而不是/tmp/.s.PGSQL.5432)。 如果使用目录,则PostgreSQL服务器和Amanda备份服务器必须位于同一台计算机上。
 

Path_to_PSQL_Binary
PostgreSQL psql二进制可执行文件的路径。
 

PostgreSQL_username
PostgreSQL数据库用户以其身份进行连接,该用户必须具有超级用户特权。
 

PSQL_Password
PostgreSQL密码。
 

Whether_to_clean_up_WAL
在完全备份期间是否删除旧的WAL段文件。 完全备份完成后,将从PG_ARCHIVEDIR位置删除WAL存档文件。 默认为是。
 

Database_name
要连接的数据库。 PG-USER应该具有访问此数据库的凭据。 默认值为默认PostgreSQL安装中存在的“ template1”。
*这不是要备份的数据库。 中的所有数据库 Postgres的 服务器已备份。
 

使用SUPERUSER特权和与PG-PASSWORD匹配的密码创建一个名为amandabackup的LOGIN PostgreSQL角色。 例如,以下命令可以超级用户身份在PostgreSQL数据库中运行:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

要允许Amanda Enterprise Server访问PostgreSQL服务器,请修改pg_hba.conf文件,一个允许amandabackup用户从10.0.0.x中的任何IP连接的示例如下:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

有关更多信息,请参见http://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL