3

我正在使用 PostgreSQL 数据库,我正在运行一个数据库服务器。

我的PostgreSQL 版本是:

postgres=# select version();
                           version
-------------------------------------------------------------
 PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit
(1 row)

我的要求:

我们可以为每 2 天Script or a Job-Schedule运行一次PostgreSQL数据库吗?Back-Up

有没有办法做到这一点?

我们可以运行任何脚本或作业调度作业来实现这一点吗?

有没有办法使用PgAgent做到这一点!我正在使用PgAdminIII

4

1 回答 1

3

取自这里

在 windows 环境下实现自动备份:

1.创建一个.pgpass文件

(我调用了我的 pgpass.conf)并将它放在安全的地方。我将它放在运行备份的脚本下的子目录中。

pgpass 包含这种格式的主机访问信息

hostname:port:database:username:password

锁定 .pgpass 文件 使用 NTFS 权限,禁止除用户 pg 正在运行之外的所有人访问此文件(如果您在系统帐户下运行 pg,那么您应该将其设置为使用它自己的用户凭据)

2.创建脚本调用pg_dumpall

例如:

SET PGPASSFILE=C:\foo\bar\PG_BACKUP\PGPASSFILE\pgpass.conf
"C:\Program Files\PostgreSQL\9.2\bin\pg_dumpall.exe" -U postgres_username  > C:\foo\bar\PG_BACKUP\db.out current

第一行是 pgpass 文件的位置。第二行是将整个数据库输出到文件的 pg_dumpall 命令C:\foo\bar\PG_BACKUP\db.out

3.创建定时任务

命令是

C:\Windows\System32\cmd.exe /c "C:\foo\bar\PG_BACKUP\pg_backup.bat"

它从目录开始

C:\foo\bar\PG_BACKUP

这是一个关于如何在 Windows 上创建计划任务的好教程:

http://www.makeuseof.com/tag/how-to-automate-windows-programs-on-a-schedule/

您可以通过简单的搜索找到大量此类教程和信息。

于 2013-11-25T10:38:33.913 回答