Recent Comments

2012年5月18日 星期五

postgresql agent設定

以下執行方式是linux系統的設定方式

安裝pgagent 於centos linux

yum install pgagent_91

在執行psql指令時要用postgres帳號做操作
登入帳號

su -l postgres

為資料庫安裝pgagent,這一步要注意,要確定將pgagent.sql安裝到正確的資料庫,
安裝pgagent到資料庫postgres

psql < /usr/share/pgagent_91-3.0.1/pgagent.sql
安裝pgagent到資料庫n5_data

psql -d n5_data < /usr/share/pgagent_91-3.0.1/pgagent.sql

pgagent.sql執行內容,會在該資料庫中建立所需要的資料表,建好後用PgAdminIII中的catalogs->pgAgent->Tables中看到

-bash-4.1$ psql -d n5_data < /usr/share/pgagent_91-3.0.1/pgagent.sql
Password:
BEGIN
CREATE SCHEMA
COMMENT
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobagent_pkey" for table "pga_jobagent"
CREATE TABLE
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobclass_jclid_seq" for serial column "pga_jobclass.jclid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobclass_pkey" for table "pga_jobclass"
CREATE TABLE
CREATE INDEX
COMMENT
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
NOTICE:  CREATE TABLE will create implicit sequence "pga_job_jobid_seq" for serial column "pga_job.jobid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_job_pkey" for table "pga_job"
CREATE TABLE
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobstep_jstid_seq" for serial column "pga_jobstep.jstid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobstep_pkey" for table "pga_jobstep"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_schedule_jscid_seq" for serial column "pga_schedule.jscid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_schedule_pkey" for table "pga_schedule"
CREATE TABLE
CREATE INDEX
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_exception_jexid_seq" for serial column "pga_exception.jexid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_exception_pkey" for table "pga_exception"
CREATE TABLE
CREATE INDEX
CREATE INDEX
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_joblog_jlgid_seq" for serial column "pga_joblog.jlgid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_joblog_pkey" for table "pga_joblog"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobsteplog_jslid_seq" for serial column "pga_jobsteplog.jslid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobsteplog_pkey" for table "pga_jobsteplog"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
CREATE FUNCTION
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
COMMIT
-bash-4.1$ exit
logout
以上只是為資料庫建立基本的環境,以上執行完時啟動PgAdminIII後,點選該資料庫會在tree中新增一個jobs的項目
可在該jobs中新增排程。

排程建立好後並不會執行,需要啟動pgagent的服務才會依jobs中的設定執行排程,以下指令要在root下操作
因為每個資料庫都建有自已的pgagent,所以在啟動服務的部分也要依不同的資料庫做啟動,指令如下

資料庫postgres啟動排程

pgagent  hostaddr=localhost dbname=postgres user=postgres password=******

資料庫n5_data啟動排程

pgagent  hostaddr=localhost dbname=n5_data user=postgres password=******

執行指令後若沒有錯誤代表啟動成功
可以用ps aux | grep pgagent做檢查

[root@db ~]# ps aux | grep pgagent
root     20774  0.0  0.0 229664  2688 ?        S    17:27   0:00 pgagent hostaddr=localhost dbname=postgres user=postgres password=******
root     21028  0.0  0.0  78012  2292 ?        S    17:32   0:00 pgagent hostaddr=localhost dbname=n5_data user=postgres password=******
root     22467  0.0  0.0 103232   856 pts/0    S+   18:02   0:00 grep pgagent
[root@db ~]#

參考文件

0 意見: