pgagent
作为postgresql的一个任务调度代理,在postgresql 9.0 以前 是附带在pgadmin 包下面的,只是默认不安装,9.0之后作为了一个单独是的安装包。所以要使用pgagent
定时任务调度的话还得单独安装。
在安装pgagent之前还需要安装另外的2个依赖包,cmake
以及wxGTK
.
这里我选择的软件版本分别是
postgresql 9.5.1
pgagent-3.4.0下载地址:https://www.pgadmin.org/download/pgagent.php
cmake-2.8.5 下载地址:http://cmake.org/download/
wxGTK-2.8.12 下载地址:http://www.wxwidgets.org/downloads/
一、postgresql 的安装
(略)
二、cmake的安装
将安装包上传至服务器并解压,解压后进入解压后生成的cmake-2.8.5目录,执行以下命令。
[root@lsrac97 ~]# tar zxvf pgagent-3.4.0.tar.gz
[root@lsrac97 ~]# cd cmake-2.8.5
[root@lsrac97 cmake-2.8.5]# ./bootstrap && make && make install
三、wxGTK-2.8.12 的安装
首先配置.bash_profile
参数文件
[root@lsrac97 ~]#vi .bash_profile
#加入以下内容:
PATH=$PATH:$HOME/bin:/usr/local/wxGTK-2.8.12/bin
export LD_LIBRARY_PATH=/usr/local/wxGTK-2.8.12/lib:$LD_LIBRARY_PATH
#并生效参数文件,命令如下:
[root@lsrac97 ~]#source .bash_profile
接着解压该安装包并进入其目录,然后编译和安装
[root@lsrac97 wxGTK-2.8.12 ]# ./configure --enable-shared=no --enable-unicode=yes --prefix=/usr/local/wxGTK-2.8.12
[root@lsrac97 wxGTK-2.8.12 ]# make && make install
四、pgagent的安装
上传安装包至服务器并解压,进入目录执行如下命令:
[root@lsrac97 pgAgent-3.4.0-Source]# cmake ./
提示报错:没有安装postgresql
CMake Error at cmake/FindPG.cmake:131 (MESSAGE):
No PostgreSQL installation could be found.
Call Stack (most recent call first):
CMakeLists.txt:107 (FIND_PACKAGE)
这里需要先指定postgresql环境变量
[root@lsrac97 pgAgent-3.4.0-Source]# source /home/postgres/.bash_profile
[root@lsrac97 pgAgent-3.4.0-Source]# cmake ./
--
-- ================================================================================
-- Configuration summary:
--
-- Project : pgagent
-- Description : pgAgent is a job scheduling engine for PostgreSQL
-- Version : 3.4.0
--
-- PostgreSQL version string : PostgreSQL 9.5.1
-- PostgreSQL version parts : 9.5.1
-- PostgreSQL path : /app/postgresql/pg951
-- PostgreSQL config binary : /app/postgresql/pg951/bin/pg_config
-- PostgreSQL include path : /app/postgresql/pg951/include
-- PostgreSQL library path : /app/postgresql/pg951/lib
-- PostgreSQL share path : /app/postgresql/pg951/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
-- ================================================================================
--
-- Configuring done
-- Generating done
-- Build files have been written to: /app/pgAgent-3.4.0-Source
然后编译安装 make && make install
即可
[root@lsrac97 pgAgent-3.4.0-Source]# make && make install
--
-- ================================================================================
-- Configuration summary:
--
-- Project : pgagent
-- Description : pgAgent is a job scheduling engine for PostgreSQL
-- Version : 3.4.0
--
-- PostgreSQL version string : PostgreSQL 9.5.1
-- PostgreSQL version parts : 9.5.1
-- PostgreSQL path : /app/postgresql/pg951
-- PostgreSQL config binary : /app/postgresql/pg951/bin/pg_config
-- PostgreSQL include path : /app/postgresql/pg951/include
-- PostgreSQL library path : /app/postgresql/pg951/lib
-- PostgreSQL share path : /app/postgresql/pg951/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
-- ================================================================================
--
-- Configuring done
-- Generating done
-- Build files have been written to: /app/pgAgent-3.4.0-Source
Scanning dependencies of target pgagent
[ 12%] Building CXX object CMakeFiles/pgagent.dir/job.cpp.o
[ 25%] Building CXX object CMakeFiles/pgagent.dir/win32.cpp.o
[ 37%] Building CXX object CMakeFiles/pgagent.dir/precomp.cpp.o
[ 50%] Building CXX object CMakeFiles/pgagent.dir/misc.cpp.o
[ 62%] Building CXX object CMakeFiles/pgagent.dir/unix.cpp.o
[ 75%] Building CXX object CMakeFiles/pgagent.dir/pgAgent.cpp.o
[ 87%] Building CXX object CMakeFiles/pgagent.dir/connection.cpp.o
Linking CXX executable pgagent
[ 87%] Built target pgagent
Scanning dependencies of target run
[ 87%] Generating pgagent--3.4.sql, pgagent.control
[100%] Built target run
[root@lsrac97 pgAgent-3.4.0-Source]# make install
[ 87%] Built target pgagent
[100%] Built target run
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/pgagent
-- Removed runtime path from "/usr/local/bin/pgagent"
-- Installing: /usr/local/share/pgagent.sql
-- Installing: /usr/local/share/pgagent_upgrade.sql
-- Installing: /usr/local/./README
-- Installing: /usr/local/./LICENSE
-- Installing: /app/postgresql/pg951/share/extension/pgagent--3.4.sql
-- Installing: /app/postgresql/pg951/share/extension/pgagent.control
-- Installing: /app/postgresql/pg951/share/extension/pgagent--unpackaged--3.4.sql
编译安装完之后切换postgres
用户
进入数据库中,执行create extension pgagent;
即可。
postgres=# create extension pgagent ;
CREATE EXTENSION
如此pgagent扩展安装完成。
下面是其中遇到的问题:
安装wxWidGets
报错:
checking for GTK+ version...
checking for pkg-config... /usr/bin/pkg-config
checking for GTK+ - version >= 2.6.0... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occurred. This usually means GTK+ is incorrectly installed.
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for GTK+ - version >= 3.0.0... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
checking for gtk-config... no
checking for GTK - version >= 1.2.7... no
*** The gtk-config script installed by GTK could not be found
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GTK_CONFIG environment variable to the
*** full path to gtk-config.
checking for gtk-config... (cached) no
checking for GTK - version >= 1.2.3... no
*** The gtk-config script installed by GTK could not be found
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GTK_CONFIG environment variable to the
*** full path to gtk-config.
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
installed. For GTK+ 1.2 please check that gtk-config is in the path,
and that the version is 1.2.3 or above. Also check that the
libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
--libs' are in the LD_LIBRARY_PATH or equivalent.
解决:
需要安装gtk2-devel和binutils
yum -y install gtk2-devel binutils-devel
然后wxWidGets
继续安装即可。
参考:
postgresql pgagent 的安装及使用(linux 5.8)
CentOS7安装wxWidgets错误解决