簡介:
PostgreSQL是以加州大學伯克利分校計算機系開發的 POSTGRES2爲基礎發展起來的對象關係型數據庫管理系統(ORDBMS),可以說是目前世界上最先進,功能最強大的自由數據庫管理系統。
它的標誌是一個大象頭。
安裝:
PostgreSQL的安裝方法比較靈活,可以用源碼包安裝,也可以用您使用的發行版所帶的軟件包來安裝,還可以採用在線安裝。
其安裝過程簡單,不做贅述,在這裏要說的是,安裝時,選擇將程序文件與data文件分開存放,這樣可以減少磁盤IO的爭用次數。這也是其他各種關係型數據庫的安裝建議。
注意:安裝前,最好創建一個單獨的用戶來安裝PostgreSQL,這與mysql以及oracle是同一個道理。
啓動關閉:
PostgreSQL安裝後,啓動與關閉腳本放在etc中(具體不同的linux發行版,放置的位置略有差異)
centOS 位置:
/etc/rc.d/init.d/postgresql-9.0
以postgres用戶登錄系統,以下命令是啓動關閉等:
postgresql-9.0 start 注:啓動;
postgresql-9.0 restart 注:重啓;
postgresql-9.0 stop 注:停止;
postgresql-9.0 status 注:查看狀態;
用戶管理:
添加用戶:
命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主機名] [-p port] 用戶名
參數說明:
[-a]:允許創建其他用戶,相當於創建一個超級用戶;
[-A]:不允許此用戶創建其他用戶;
[-d]:允許此用戶創建數據庫;
[-D]:不允許此用戶創建數據庫;
[-e]:將執行過程顯示到Shell上;
[-P]:創建用戶時,同時設置密碼;
[-h 主機名]:爲某個主機上的Postgres創建用戶;
[-p port]:與-h參數一同使用,指定主機的端口。
事實上,createuser只是對CREATE USER的封裝。
A.不帶參數的創建用戶
createuser testuser
Shall the new user be allowed to create databases? (y/n) n --------是否可以創建數據庫:否
Shall the new user be allowed to create more new users? (y/n) n ---------是否可以創建新用戶:否
CREATE USER
注:不帶數創建用戶時,Postgres會詢問此用戶的權限,上面的例子創建了一個普通用戶; 這等於CREATE USER testuser NOCREATEDB NOCREATEUSER;
B.爲指定的主機和端口上創建用戶
createuser -h 192.168.1.5 -p 5000 -D -A -e testuser
CREATE USER
注:這個命令爲主機192.168.1.5的5000端口創建用戶testuser, 此用戶不可以創建數據庫和其他用戶。
C.創建超級用戶
createuser -P -d -a -e testuser
Enter password for new user: testuser
Enter it again: testuser
CREATE USER
注:這個命令在本地創建一個超級用戶(-a),可以創建數據庫(-d), 同時要求設置密碼。 這等於CREATE USER testuser PASSWORD 'testuser' CREATEDB CREATEUSER;
刪除用戶:
命令:dropuser [-i] [-h] [-p] [-e] 用戶名
參數說明:
[ -i]:刪除用戶前,要求確認;
[-h 主機名]:刪除某個主機上的Postgres用戶;
[-p port]:與-h參數一同使用,指定主機的端口;
[-e]:將執行過程顯示到Shell上。
事實上,dropuser只是對DROP USER的封裝。
A.刪除本地的Postgres用戶
dropuser testuser
DROP USER
B.刪除遠程Postgres服務器上的用戶
dropuser -h192.168.1.5 -p 5000 -i -e testuser
User "testuser" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER
注:此命令刪除主機192.168.1.5(-h)的5000端口(-p)的用戶testuser,並且需要確認(-i); 這等於DROP USER "testuser";
創建刪除數據庫:
A.創建數據庫
創建我的第一個數據庫kanon:
postgres是支持SQL標準最高的關係型數據庫管理系統,當然,它支持CREATE DATABASE命令創建數據庫,在此基礎上,還對此命令做了擴展,增加了許多屬性設置。
比如owner、template、ecoding、tablespace等。
那麼,利用CREATE DATABASE創建kanon數據庫語句如下:
CREATE DATABASE kanon ENCODING 'LATIN1' TEMPLATE template0 OWNER kanon TABLESPACE kanonspace;
另外,postgres還提供的自己的方言來創建數據庫createdb,同樣支持多個屬性設置。
比如--tablespace、--encoding、--owner、--template等。
那麼,利用createdb創建kanon數據庫語句如下: