Recent Comments

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2012年7月1日 星期日

shell script 數字補0

數字1、2、3、 補0 => 01、02、03

xx=`echo $num|awk'{printf "%02d", $1}'`
echo $xx;

2012年6月28日 星期四

CentOS6用yum安裝webmin

vim /etc/yum.repos.d/webmin.repo
加入下面的內容

[Webmin]
name=Webmin Distribution Neutral 
baseurl=http://download.webmin.com/download/yum 
enabled=1

rpm --import http://www.webmin.com/jcameron-key.asc
yum install webmin
yum install gcc openssl openssl-devel

http://localhost:10000
帳號密碼為系統管理者root

2012年6月7日 星期四

the log_filename parameter must equal

當執行pgadmin III的工具->伺服器狀態時會出現the log_filename parameter must equal……
主要是設定檔的LOG FILE格式和PGADMIN III的格式不符所造成的

修改postgresql.conf
vim /var/lib/pgsql/9.1/data/postgresql.conf
修改下面log_filename的參數內容
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

安裝adminpack


使用locate adminpack找到檔案路徑
/usr/pgsql-9.1/share/extension/adminpack--1.0.sql


執行
su -l postgres
psql -d n5_data < /usr/pgsql-9.1/share/extension/adminpack--1.0.sql


出現Use "CREATE EXTENSION adminpack" to load this file.
在9.1的安裝方式改了,改用下面的指令,直接到資料庫中執行指令產生


psql -d n5_data 
CREATE EXTENSION adminpack


最後reload設定檔
su -l postgres
 /usr/pgsql-9.1/bin/pg_ctl reload -d /var/lib/pgsql/9.1/data/

重新開始後pgadmin iii就不會出現這個錯誤,也可以用pgadmin直接看到log內容
log檔案位置:/var/lib/pgsql/9.1/data/pg_log

2012年6月4日 星期一

解壓縮資料夾下的檔案

解壓縮Z
ls *.tar.Z | xargs -n 1 gunzip -d


解開檔案
ls *.tar | xargs -n 1 tar -xvf 

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 ~]#

參考文件

2012年5月4日 星期五

postgresql install pgagent工作排程

yum install pgagent_91

su -l postgres
psql < /usr/share/pgagent_91-3.0.1/pgagent.sql

在PgAdminIII下就會出現Job的功能!

postgresql 備份和還原

備份
pg_dump dbname | gzip > filename.gz


還原前先建立
tablespace
資料庫使用者
資料庫


還原
gunzip -c filename.gz | psql dbname