使用pgAgent对postgresql数据库自动备份
自己写了一个bat文件,双击执行都能进行数据库的备份,bat没有问题.
可是加到pgAgent job中显示成功执行,但是却未能备份成功.
在"步骤"的"统计量"下信息都是"执行成功",但是在"输出"那里有乱码,如下:C:\WINDOWS\system32>D:\Program Files\PostgreSQL\9.0\bin\backup.bat
'D:\Program' ²»ÊÇÄÚ²¿»òÍⲿÃüÁҲ²»ÊÇ¿ÉÔËÐеijÌÐò
»òÅú´¦ÀíÎļþ¡£不知道为啥,有遇上这种情况的?
bat文件位置D:\Program Files\PostgreSQL\9.0\bin\backup.bat
自己写了一个bat文件,双击执行都能进行数据库的备份,bat没有问题.
可是加到pgAgent job中显示成功执行,但是却未能备份成功.
在"步骤"的"统计量"下信息都是"执行成功",但是在"输出"那里有乱码,如下:C:\WINDOWS\system32>D:\Program Files\PostgreSQL\9.0\bin\backup.bat
'D:\Program' ²»ÊÇÄÚ²¿»òÍⲿÃüÁҲ²»ÊÇ¿ÉÔËÐеijÌÐò
»òÅú´¦ÀíÎļþ¡£不知道为啥,有遇上这种情况的?
bat文件位置D:\Program Files\PostgreSQL\9.0\bin\backup.bat
解决方案 »
- GUI工具连接mysql出现2003——can't connect to mysql server on localhost(10061)
- 关于crm客户管理权限的问题
- mysql 查询很慢,怎么回事。
- 问两道关于SQL语句的题目
- mysql5中,alter table中对列的允许空与非空的修改!
- 数据库一个表内某字段(自增整数型)如何返回到起始值?
- PostgreSql 中的 Upper('你') 出错
- SOL排序
- /usr/libexec/mysqld: Table 'mysql.host' doesn't exist
- 请问有没有在WINDOWS下的mysqlgui管理mysql的程序呢?
- 求一个count语句
- 求一条sql update语句
难道pgAgent执行的bat有特殊要求?
你用postgres用户登陆试试or打开 service.msc, 找到 pgAgent的服务, 将登陆用户改为目前你登陆的用户,
重启pgAgent服务试试
or直接用WINDOWS的计划任务
因为pgAgent服务是postgres用户运行的, 故系统会到系统USER目录下查找密码文件
C:\Documents and Settings\postgres\Application Data\postgresql\pgpass.conf
如果此文件中有正确的User:PWD记录, 登陆DB成功, 运行调度任务;
文件不存在或其中密码不正确, 登陆失败, 自然调度任务失败!! 比如, 我的登陆DB的用户名为 aaa, 密码为bbb, 则记录的pgpass.conf文件内容为:
localhost:5432:*:aaa:bbb
自己手动创建此pgpass.conf 文件, 即可解决此问题(效果一样). or
将数据库的登陆模式改为:trust
现在的情况是pgAgent能正确的加载和正确的定时执行,只是执行的不对.还有根据网上的说法,我把"pg_hba.conf"文件里面改了127.0.0.1/32 trust验证,本地登录不验证,应该是用哪个用户登录pgAgent都没问题吧?
修改C:\Documents and Settings\postgres\Application Data\postgresql\pgpass.conf 没有
打开 service.msc, 找到 pgAgent的服务, 将登陆用户改为目前你登陆的用户,
重启pgAgent服务试试