顯示具有 postgresql 標籤的文章。 顯示所有文章
顯示具有 postgresql 標籤的文章。 顯示所有文章

2009年7月31日 星期五

遠端連線Postgresql

有時架站要跑得服務與資料庫是在不同機器上,這時跑服務的機器就必須透過TCP/IP來存取資料庫,而SQL通常預設只允許在本地端存取,Postgresql也不例外,因此必須透過一點小設定將遠端存取的功能打開。

1.修改pg_hba.conf

sudo 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月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.啟動sql
sudo /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.重新啟動sql
sudo /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登入資料庫。