2009年2月28日 星期六

PostgreSQL--ENUM型別的運用

這次主題是研究PostgreSQL當中,如何使用列舉型別(ENUM TYPE)之運用。列舉型別的好處是,它的值可以是字串或數值或NULL,則儲存的方式則以整數儲存,所以,在資料庫系統當中,數字的運用會比文字的運作還要來的相對的快,這也是其一大優點。但其因運用ENUM型別的欄位的資料是以數值的方式來儲存雖可以節省很多儲存空間,但因資料取出的同時,也必須以數值轉換為字串並顯示,過渡使用ENUM型別也是會造成效能相對較低。

當使用者設定指定多個字串或數值時,就好比資料要INSERT至資料表時要做CHECK這方面的檢查一樣,可以幫你過濾非指定的字串或數值,不過,若需要引用ENUM TYPE就必須創建一型別,請參考以下範例:



(1)創建TYPE物件並設定ENUM型別:

























(2)建立資料表並引用所創建的TYPE物件:

























(3)檢視PgAdmin:



















(4)輸料資料並測試ENUM型別並查詢其結果:






























































































參考資料:

http://www.postgresql.org/docs/8.3/static/datatype-enum.html

http://www.postgresql.org/docs/8.3/static/functions-enum.html


2009年2月11日 星期三

PostgreSQL之show及comment語法測試

這次PostgreSQL研究方向全屬於文字終端機介面的操作,實作部分有 1.增加註解 2.SHOW語法之運用 3.移除註解
實驗前的工作必須準備一份資料表,透過以下語法來創建一份資料表。
create table friend (
id integer primary key,
name varchar(10) unique,
phone varchar(10) not null
);

STEP 1:
資料表(物件)註解語法:COMMENT ON TABLE table_name IS '..註解行.. ' ;















欄位註解語法:COMMENT ON COLUMN table_name.column_name IS '..註解行..';















STEP 2:
SHOW語法之運用可以顯示其物件的架構,包括:欄位名稱、資料型別、限制及註解等..
以下語法為顯示物件資訊(t+i+s+v+c+S分別為 資料表、索引、序列數、視觀表、欄位註解、系統資料表) 語法1:SHOW \d+(t+i+s+v+c+S) table_name;

<例>顯示其資料表結構及欄位註解行

















pgAdmin之SQL窗口顯示:




















以下語法為顯示物件註解 語法2:SHOW \dd table_name;

<例>顯示其資料表結構、欄位註解行及物件註解
















最後補充說明:倘若想要查詢顯示pgsql命令之說明,可以鍵入 \? ;相信對各位PostgreSQL玩家很有幫助唷!!

PostgreSQL作業系統環境的遷移 - XP 搬移至 GNU/Linux

這次的主題是來測試從Windows備份整個伺服器並回存到Linux底下來運行。

首先,在Windows端先從PgAdmin圖形工具來做伺服器的備份,如圖:



以pgadminiii_dump_file為檔名,存放於C:\底下,並以sql格式儲存。





接下來,在從Windows端以命令提示字元(CMD)來做伺服器的備份,如圖:

以pg_dumpall指令備份整個伺服器,以command_dump_file為檔名,存放於C:\底下,並以sql格式儲存。



以下顯示備份出來的二份sql檔,如圖:



接下來,移至Linux\Ubuntu8.10作業平台下,測試備份回存的運作模式。

**先前準備,先把Windows備份的2組sql檔複製到Ubuntu的目錄底下,例:/kevin(我的家目錄)

以下用psql指令來備份回存2組sql檔,首先,先來測試pgadminiii_dump_file這個檔案,如圖:
(這張是Ubuntu底下的PgAdmin,裡面沒有任何的資料)



(這張是終端機底下的備份回存之指令操作)



(這張是備份回存之後PgAdmin的畫面)



由此可知,利用Windows的PgAdmin圖形工具來備份伺服器,在到Linux底下備份回存是可以成功的!!!!!!
-----------------------------------------------------------------------------------------------
接下來,就來測試command_dump_file這個檔案,如圖:
**先前準備,在把剛剛備份回存過後的伺服器的資料庫等資料刪除掉(圖略)
(這張是終端機底下的備份回存之指令操作)



(這張是備份回存之後PgAdmin的畫面)



由此可知,利用Windows的命令提示字元(cmd)來備份伺服器,在到Linux底下備份回存是可以成功的!!!!!!