我正在使用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 。
答案 0 :(得分:3)
取自here
在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/
您可以通过简单的搜索找到大量此类教程和信息。