pgagent

od:centos 6.8
db:postgresql 9.6
pgagent 是 pgsql 的一个job调度的功能扩展存在,个人对pgagent有点困惑,感觉这个东西应该作为数据库系统必备一部分,而不应该让开发人员或者dba再去安装个 pgagent。

编译安装

pgAgent 依赖 cmake 和 wxGTK,所以要先配置好 cmake 和wxGTK

cmake

centos 6.8 安装是自带了 cmake

ls -l /usr/bin/cmake
-rwxr-xr-x 1 root root 4168936 Oct 15  2014 /usr/bin/cmake
cmake --version
cmake version 2.8.12.2

wxGTK

Latest Stable Release: 3.0.3
Previous Stable Release: 2.8.12
本次采用 2.8.12

root用户下

vi ~/.bash_profile

export PATH=/usr/local/wxGTK-2.8.12/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/wxGTK-2.8.12/lib:$LD_LIBRARY_PATH

source .bash_profile

编译、安装
root用户下

./configure --enable-shared=no --enable-unicode=yes --prefix=/usr/local/wxGTK-2.8.12
make 
make install

pgagent

下载 pgAgent v3.4.0

pgagent安装
这里需要先指定postgresql环境变量
root用户下

export PGDATA=/var/lib/pgsql/9.6/data
export PGHOME=/usr/pgsql-9.6
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64:$PGHOME/lib:$LD_LIBRARY_PATH

cmake ./
-- ================================================================================
-- Configuration summary:
--  
--   Project                     : pgagent
--   Description                 : pgAgent is a job scheduling engine for PostgreSQL
--   Version                     : 3.4.0
--  
--   PostgreSQL version string   : PostgreSQL 9.6.4
--   PostgreSQL version parts    : 9.6.4
--   PostgreSQL path             : /usr/pgsql-9.6
--   PostgreSQL config binary    : /usr/pgsql-9.6/bin/pg_config
--   PostgreSQL include path     : /usr/pgsql-9.6/include
--   PostgreSQL library path     : /usr/pgsql-9.6/lib
--   PostgreSQL share path       : /usr/pgsql-9.6/share
--  
--   wxWidgets version           : 2.8.12
--   wxWidgets path              : /usr/local/wxGTK-2.8.12
--   wxWidgets config binary     : /usr/local/wxGTK-2.8.12/bin/wx-config
--   wxWidgets Static linking    : YES
--   wxWidgets Debug?            : NO
-- ================================================================================

make
make install
如果没有报错,就可以 到 psql下创建了
create extension pgagent;

postgres=# create extension pgagent ;
CREATE EXTENSION

rpm 安装

或者直接 pgagent rpm
yum list |grep pgagent
yum install pgagent_96.x86_64

/usr/share/pgagent_96-3.4.0
/usr/share/pgagent_96-3.4.0/pgagent_upgrade.sql
/usr/share/pgagent_96-3.4.0/pgagent.sql

/usr/pgsql-9.6/share/extension/pgagent–3.4.sql
/usr/pgsql-9.6/share/extension/pgagent.control
/usr/pgsql-9.6/share/extension/pgagent–unpackaged–3.4.sql

查看 pgagent_96
cat /etc/init.d/pgagent_96

关键是这一行

 $SU pgagent -c "/usr/bin/pgagent_96 -s $LOGFILE hostaddr=$DBHOST dbname=$DBNAME user=$DBUSER  port=$DBPORT"

需要使用~/.pgpass来保存密码,在pgagent用户的主目录下新建.pgpass文件

 #hostname:port:database:username:password
`*:*:*:postgres:xxxxx` 

$ chmod 0600 .pgpass

# service pgagent_96 status
# service pgagent_96 start

碰到如下错误
WARNING: Couldn’t create the primary connection (attempt 3): FATAL: Ident authentication failed for user “postgres”

开启 pgslq 的 log_connections = ‘on’ ,发现使用的是 ipv6 登录的。关闭操作系统的 ipv6
lsmod | grep ipv6

在/etc/modprobe.d/dist.conf结尾添加
alias net-pf-10 off
alias ipv6 off

vi /etc/sysconfig/network
NETWORKING_IPV6=no

vi /etc/hosts

#::1

17:16:24: Error: Cannot get the official hostname (error 0: Success)
这个问题是在/etc/hosts 没有添加主机名

vi /etc/hosts
x.x.x.x DB_monitor

chkconfig --level 3 pgagent_96 on
chkconfig --level 5 pgagent_96 on

pgagent 使用

create extension pgagent
;

会在数据库下新建了一个 pgagent 的 schema

使用 pgAdmin 4 来创建

参考:https://www.pgadmin.org/download/pgagent-source-code/
https://www.pgadmin.org/docs/pgadmin3/1.22/pgagent-install.html
http://cmake.org/download/
http://www.wxwidgets.org/downloads/

<think>好的,我需要帮助用户找到在Windows上安装pgAgent的逐步指南。首先,pgAgent是PostgreSQL的一个任务调度工具,通常与pgAdmin一起使用。用户可能已经安装了PostgreSQL和pgAdmin,但需要配置pgAgent来执行定时任务。 首先,我应该回忆一下pgAgent的安装步骤。根据以往的知识,pgAgent需要数据库扩展和Windows服务的注册。用户可能需要在PostgreSQL的安装目录中找到pgAgent的安装文件,或者单独下载。 接下来,需要确认用户的操作系统版本和PostgreSQL版本是否兼容。例如,pgAgent可能只支持特定版本的PostgreSQL,或者需要特定的依赖项。如果用户使用的是较新的PostgreSQL版本,可能需要从官方网站或第三方资源获取对应的pgAgent安装包。 然后,安装步骤可能包括以下几步: 1. 下载pgAgent的Windows二进制文件。 2. 将文件解压到PostgreSQL的安装目录。 3. 创建pgAgent所需的数据库扩展。 4. 注册pgAgent为Windows服务,以便自动启动。 在创建数据库扩展时,用户需要使用psql或pgAdmin执行SQL脚本,这可能需要管理员权限。注册服务通常通过命令行工具如sc或pgAgent自带的安装程序完成。 另外,需要注意环境变量和路径是否正确配置,确保系统能找到PostgreSQL的相关工具。安装过程中可能出现的问题包括权限不足、路径错误或依赖项缺失,需要逐一排查。 最后,验证安装是否成功,可以通过pgAdmin查看是否出现pgAgent作业,或者尝试创建一个测试任务来检查调度功能是否正常。 如果用户遇到问题,可能需要查阅官方文档或社区支持,例如PostgreSQL的邮件列表或Stack Overflow。此外,确保所有步骤都按照正确的顺序执行,并检查日志文件以获取更多错误信息。</think>### 如何在Windows上安装pgAgent分步指南 #### 步骤1:确认环境要求 - 确保已安装PostgreSQL(建议使用9.4及以上版本)[^3] - 安装pgAdmin 4(pgAgent通常与pgAdmin捆绑) #### 步骤2:下载pgAgent安装文件 1. 访问[pgAgent下载页面](https://www.pgadmin.org/download/pgagent/) 2. 选择与PostgreSQL版本匹配的Windows二进制包(如`pgAgent-4.2.0-x64.exe`) #### 步骤3:安装pgAgent组件 ```bash # 以管理员身份运行安装程序 pgAgent-4.2.0-x64.exe # 选择PostgreSQL安装目录(默认:C:\Program Files\PostgreSQL\<version>) ``` #### 步骤4:创建数据库扩展 1. 打开pgAdmin 4,连接目标数据库 2. 执行SQL命令: ```sql CREATE EXTENSION pgagent; ``` #### 步骤5:注册Windows服务 ```bash # 打开命令提示符(管理员) pgagent.exe install pgAgent -u postgres -p <password> -db <database_name> ``` #### 步骤6:验证安装 1. 在Windows服务列表中检查"pgAgent"服务状态 2. 在pgAdmin左侧导航栏应出现"pgAgent Jobs"节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值