有時架站要跑得服務與資料庫是在不同機器上,這時跑服務的機器就必須透過TCP/IP來存取資料庫,而SQL通常預設只允許在本地端存取,Postgresql也不例外,因此必須透過一點小設定將遠端存取的功能打開。
1.修改pg_hba.confsudo vim /etc/postgresql/8.3/main/pg_hba.conf
新增一行存取規則host all all 0.0.0.0/0 password
參數1:host表遠端存取,local表本機端存取
參數2:設定可存取的Database
參數3:設定可存取的使用者
參數4:設定可存取之網域,此設定全部網域皆可存取
參數5:trust表不需認證,password表示需要密碼
2.修改postgresql.conf取消註解並設定為 listen_addresses ='*'
取消註解並設定為 port=5432
3.重新啟動資料庫sudo /etc/init.d/postgresql-8.3 restart
2009年7月31日 星期五
遠端連線Postgresql
2009年7月20日 星期一
在postgresql建立auto-increment
在資料庫中常用的一個欄位就是auto-increment,這個欄位的資料通常是不可重複的,可以用來作商品或會員名單的流水號,很可惜的是postgresql沒有這個屬性的欄位。但雖然預設沒有這個欄位,但其實可以透過手動的方式建立這一流水號。
1.建立sequence
CREATE SEQUENCE myserial INCREMENT 1 MINVALUE 10000 MAXVALUE 99999 CACHE 1 CYCLE;
2.建立流水號欄位CREATE TABLE profile
(
id regclass NOT NULL DEFAULT nextval(('myserial'::text)::regclass),
"name" character(8) NOT NULL,
CONSTRAINT pmky PRIMARY KEY (id)
);
2009年7月19日 星期日
install postgresql in ubuntu
這次實驗室專題需要使用資料庫,本來決定使用MySql,不幸的是根據MySql授權如果搭配硬體出售必須付費,所以只好選擇了較不熟悉的Postgresql來使用,在這裡順便安裝postgresql的圖形管理工具pgadmin3。
1.安裝postgresql與管理工具sudo apt-get install postgresql
sudo apt-get install pgadmin3
2.啟動sqlsudo /etc/init.d/postgresql-8.3 restart
3.設定postgres本機密碼
sudo passwd postgres
4.設定postgres連線密碼
注意!!這裡必須先將使用者身份轉為postgres
su postgres
psql postgres
postgres=# alter user postgres with password '密碼';
5.重新啟動sqlsudo /etc/init.d/postgresql-8.3 restart
6.新增/刪除使用者
新增使用者:
su postgres
createuser 使用者名稱 -P (-P)加上密碼
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
刪除使用者:dropuser 使用者名稱
7.新增/刪除資料庫
createdb 資料庫名稱
dropdb 資料庫名稱
步驟到此資料庫設定完成
接下來就可以使用pgadmin3登入資料庫。