tag:blogger.com,1999:blog-46729963688697507332024-02-07T13:05:50.091+08:00PostgreSQL ::國際中文社群網誌::全球最先進的開放源碼資料庫系統! PostgreSQL 以全球最自由且不受用途限制的 BSD 授權協議發佈, 擁有龐大的全球開發者/用戶社群, PostgreSQL 為企業級應用特性亦完整且高度相容於 ISO/ANSI SQL 國際標準, 高可用性(HA)及數據儲存品質倫美與持續超越 Oracle, DB2... 等商業型資料庫管理系統, TOC(整體擁有成本)更遠低於商業型 DBMS 達數百倍.KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.comBlogger251125tag:blogger.com,1999:blog-4672996368869750733.post-83917838163646415102021-02-25T17:30:00.006+08:002021-02-25T17:37:06.288+08:00[PostgreSQL] 我的PL/pgSQL授課用的範例-進銷存(一)-進貨篇 沒想到這裡我已有12年沒更新了. 現在重回來寫Blog看看, 慢慢再清理這裡的佈局和內容. 走在這條資訊管理的不歸路, 不知不覺30年了, 一路全在業界打滾, 有得有失, 心境也隨著修行, 世事無常, 留下點微薄的經驗貢獻給需要的人.全文連結在: https://oss-tw.blogspot.com/2021/02/postgresql-plpgsql.htmlKuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-772088434832805292009-07-30T11:57:00.003+08:002009-07-30T12:10:21.270+08:00發佈 PostgreSQL 中文推廣協作平台很高興的與各位 PostgreSQL 支持者與中文使用者宣佈,經過了從 2007 年以來, 本社群的參與者與觀看人次不斷的上升,累積至今已達 23 萬人次, 感謝全球 PostgreSQL 開發者與使用者們的付出 !本中文團隊以本網誌內容為基礎並結合使用經驗,將整理至 PostgreSQL 中文推廣協作平台 - Mammoth 中,供各位中文開發者與有志成為 PostgreSQL DBA 的一個中文資源入口網站.也更希望更多人與本社群團隊聯繫加入我們經驗分享的一份子.PostgreSQL 中文推廣協作平台 - Mammothhttp://sites.google.com/site/mammoth/KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com1tag:blogger.com,1999:blog-4672996368869750733.post-43365710988480811652009-07-30T02:11:00.003+08:002009-07-30T02:14:37.211+08:00PostgreSQL命名長度限制在 PostgreSQL 中所定義的物件(Object)名稱都是 Single Data Type,而命名長度必須是小於63字元的字串。而字串內容可包含字母 letters、數字 digits、底線 underscores,並可以在系統資料表中查詢pg_type資料表,它可以檢查所增加物件屬性的資料查詢,並且您會額外發現會多一組長達64字元長度的物件名稱,是因為 name type 使用了 PostgreSQL 內部引擎,它是 null-terminated 字串。雖然您可能會現到以底線 underscores 開頭的物件名稱是大於63字元長度的,但 PostgreSQL 真正所儲存的物件名稱長度依然是63個字元空間。以下是範例:參考來源:http://www.informit.com/articles/article.aspx?p=409471王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-29758742826327584682009-07-05T23:46:00.005+08:002009-07-06T00:13:22.510+08:00PostgreSQL 8.4 正式發佈公告PostgreSQL 全球開發團隊正式對 8.4 版進行發佈,PostgreSQL 是持續長期且快速發展的全球最先進開放源始碼資料庫。本新聞稿中包含了豐富的功能,目標在使 PostgreSQL 資料庫管理,查詢和程序開發可以比以往任何時候都更易於使用。著重於:增強高穩定性提供更安全可靠的系統對執行效能的再優化新增與改進管理和監測工具及命令我們的開發隊團隊花了長達 16 個月,增加了 293 項增強與改進各方面的資料庫功能,協助使用者在每一個 PostgreSQL 小型或大型的應用中。 每次新 PostgreSQL 發佈釋出的功能都隨著比以前來的更多且豐富,這主要來自歸功於我們有著日益增加的全球不同組織對 PostgreSQL 捐助。 8.4 版本增強了 293 項,從實作新的功能所需要的大至數百行 Code(如 Windows Function) ,小至補丁安全性增強,又如作出能讓系統KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-79174130562788944592009-06-10T16:20:00.003+08:002009-06-10T16:25:14.976+08:00pgAdmin III 1.10圖形工具(四)Query Tool查詢工具
除了圖形查詢產生器和pgScript腳本框架,查詢工具在SQL編輯器中增加了移動選擇文字上限或下限案件,並增加了區塊縮排和凸排,防止自動完成正在使用的查詢並增加了區塊註釋、註解在SQL編輯器中。
<!--[if gte mso 9]> Normal 0 0 2 false false false MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]> <![endif]--> <!-- /* Font Definitions */ @font-face {font-family:新細明體; panose-1:2 2 3 王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com1tag:blogger.com,1999:blog-4672996368869750733.post-26234940074062094512009-06-10T15:40:00.002+08:002009-06-10T15:45:34.373+08:00pgAdmin III 1.10圖形工具(三)Index properties索引屬性
<!--[if gte mso 9]> Normal 0 0 2 false false false MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]> <![endif]--> <!-- /* Font Definitions */ @font-face {font-family:新細明體; panose-1:2 2 3 0 0 0 0 0 0 0; mso-font-alt:PMingLiU; mso-font-charset:136; mso-generic-font-family:roman;王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-64912214283869920002009-06-10T15:15:00.004+08:002009-06-10T15:24:46.947+08:00pgAdmin III 1.10圖形工具(二)Object properties物件屬性
<!--[if gte mso 9]> Normal 0 0 2 false false false MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]> <![endif]--> <!-- /* Font Definitions */ @font-face {font-family:新細明體; panose-1:2 2 3 0 0 0 0 0 0 0; mso-font-alt:PMingLiU; mso-font-charset:136; mso-generic-font-family:roman王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-72484498401217013302009-06-10T14:30:00.004+08:002009-06-10T14:37:07.895+08:00pgAdmin III 1.10圖形工具(一)<!--[if gte mso 9]> Normal 0 0 2 false false false MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]> <![endif]--> <!-- /* Font Definitions */ @font-face {font-family:新細明體; panose-1:2 2 3 0 0 0 0 0 0 0; mso-font-alt:PMingLiU; mso-font-charset:136; mso-generic-font-family:roman; 王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-74432410696425692902009-04-25T09:21:00.004+08:002009-04-25T09:57:56.255+08:00PostgreSQL vs Oracle - IBM利用EntepriseDB技術 蠶食Oracle客戶EnterpriseDB 是將 BSD 授權的 PostgreSQL 包裝成商業產品的公司, 也是 PostgreSQL 開發者團隊中主力的貢獻來源之一, 詳情可參考本社群較早前的文章:EnterpriseDB 獲選為Linux商業應用大獎-最佳企業級資料庫由 EnterpriseDB 論數據庫開源模式宣布 EnterpriseDB 與IBM的合作,其中包括最近發布的的 EnterpriseDB Advanced Server 8.2 Linux 在 IBM Z系統大型主機,以及提供的 EnterpriseDB Advanced Server for AIX 系統的 IBM System P Server。從 Oracle 牽移到相容度與可靠性如同 Oracle 的 PostgreSQL, 能對企業節省多少錢呢 ? 來看看 EnterpriseDB 做的整理:相了解更多可以參考下頁:KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com1tag:blogger.com,1999:blog-4672996368869750733.post-65524910975602772009-04-22T07:40:00.012+08:002009-04-22T09:29:57.583+08:00PostgreSQL 8.4 / pgAdmin 1.10 版進入BETA測試階段!由 PostgreSQL Global Development Group 釋出了全球最先進的開放源始碼資料庫 PostgreSQL 8.4 第一個 beta 版本。經過長達 14 個月的嚴僅開發週期, PostgreSQL 8.4 Beta-1 提供給PostgreSQL 在世界各地的使用者們預先協助進行測試,以便使我們在不久後能以最佳的穩定與高效的嚴格品質狀態來發佈正式 8.4 版。PostgreSQL 8.4 中包含數以百計的增強(修訂)和幾十個新的功能。其中包括: 資料窗口(Windowing)功能 共用資料表表達式與遞迴結合(Recursive Joins) 函數的預設與可變(Variadic)參數 平行資料備份回存(Parallel Restore) 欄位(列)級權限(Column Permissions)各別資料庫的地區化設定 改進雜湊KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-75446536647758945202009-03-01T00:33:00.002+08:002009-03-01T00:36:55.416+08:00PostgreSQL--ENUM型別的運用這次主題是研究PostgreSQL當中,如何使用列舉型別(ENUM TYPE)之運用。列舉型別的好處是,它的值可以是字串或數值或NULL,則儲存的方式則以整數儲存,所以,在資料庫系統當中,數字的運用會比文字的運作還要來的相對的快,這也是其一大優點。但其因運用ENUM型別的欄位的資料是以數值的方式來儲存雖可以節省很多儲存空間,但因資料取出的同時,也必須以數值轉換為字串並顯示,過渡使用ENUM型別也是會造成效能相對較低。當使用者設定指定多個字串或數值時,就好比資料要INSERT至資料表時要做CHECK這方面的檢查一樣,可以幫你過濾非指定的字串或數值,不過,若需要引用ENUM TYPE就必須創建一型別,請參考以下範例:(1)創建TYPE物件並設定ENUM型別:(2)建立資料表並引用所創建的TYPE物件:(3)檢視PgAdmin:(4)輸料資料並測試ENUM型別並查詢其結果:參考資料:http:王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-85880118130543368742009-02-28T05:43:00.009+08:002009-02-28T19:56:06.982+08:00台灣(Taiwan)有那些大企業正在用 PostgreSQL ?在本月初老魚接到一封來自台灣某上市公司資訊部的郵件,(礙於職業的保密原則老魚不公佈)希望能為他們上 PostgreSQL 的教育訓練,這間公司將從 Oracle 轉進 PostgreSQL, 哇老魚當時好替 PostgreSQL 高興,可是這個月忙過頭了, 至今仍未能思考如何去回覆往返中的討論議程 ...(對這家上市公司有點不好意思, 希望他看到能夠體諒老魚...)在日本早就有許多大型企業採用 PostgreSQL 當解決方案日本電信龍頭-NTT導入PostgreSQL削減成本達30億元其實上述的例子, 老魚這些年來收到不少封郵件,詢問 PostgreSQL 技術的企業資訊人,當中也不乏政府機關, 像是 中x院 ... (好像太明顯了)老魚能於信件中回覆的絕對會提供協助的~ ^^昨天老魚我跟一位首次見面的同在高雄工作的資訊人聊天,這位資訊人在某家人數達 300 人以上的軟體公司中工作,(KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com1tag:blogger.com,1999:blog-4672996368869750733.post-54479512959429654572009-02-11T23:23:00.003+08:002009-02-11T23:25:21.668+08:00PostgreSQL之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分別為 資料表、索引、序列數、視王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-68379255969249066242009-02-11T23:02:00.001+08:002009-02-11T23:02:17.510+08:00PostgreSQL作業系統環境的遷移 - 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這個檔案,如圖:(這張是王國穎(Kuo-Ying Wang)http://www.blogger.com/profile/03159557982819383380noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-30543374824434432762008-10-18T15:11:00.003+08:002008-10-18T15:18:34.825+08:00PostgreSQL-XA & DTP(分散式事務交易處理的概觀)分享製作給 ...對於想了解PostgreSQL Transaction 或是進階開發 Java EE 有關 JTA 的新人,建議必要對該內容有個初步的認識.(點圖大放後再保存)KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com1tag:blogger.com,1999:blog-4672996368869750733.post-4295441696109571882008-10-16T02:13:00.005+08:002008-10-16T12:07:24.197+08:00撰寫 PL/pgSQL 函數快速指南: Part 1 PL/pgSQL 是 PostgreSQL 內置的可選預儲程序(Stored Procured)語言之一, 也是當中的效能與功能最強的。在這系列我們將學習如何撰寫 PL/pgSQL 的存儲函數/函式(Function)。 PLPGSQL FUNCTION 的構造 所有的 PL/pgSQL 函數遵循的結構, 看起來都如同下面的形式。 CREATE OR REPLACE FUNCTION fnsomefunc(numtimes integer, msg text)RETURNS text AS$DECLAREstrresult text;BEGINstrresult := '';IF numtimes > 0 THEN FOR i IN 1 .. numtimes LOOP strresult := strresult || msg KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-25993628678784239832008-10-11T02:45:00.014+08:002008-10-11T02:57:58.876+08:00pagila sample用資料庫安裝 (windows 系統)如何安裝Pagila範例資料庫呢?以下程序為安裝過程:1.首先解壓縮檔案後,會產生三個檔案,包含pagila-data.sql, pagila-insert-data.sql, pagila-schema.sql 2.然後執行PgAdmin->然後新增資料庫,設定內容如下圖: 3.資料庫創好後,點選SQL查詢視窗->讀取檔案,選取Pagila-schema.sql。 4.開啟後,點選執行,讓SQL語法自動寫入架構。 5.架構建好後,在資料庫上按右鍵,點選維護,在根據下圖指示選取。 6.維護完後,再根據類似步驟3的作法,以下圖的方式開啟Pagila-insert-data.sql。 7.再根據類似步驟4的方式,將pagila-insert-data.sql的資料寫入資料庫。 8.再根據類似步驟5的方式再做一次維護。 9.整理完後關閉PgAdmin-蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-57441915670999498282008-10-10T06:43:00.009+08:002008-10-13T13:22:31.373+08:00日本電信龍頭-NTT導入PostgreSQL削減成本達30億元(感謝日譯老師的校詞協助 - 2008/10/13)NTT - Wikipedia日本電信電話株式會社,簡稱NTT,為日本最大的電信服務公司,是目前日本通訊產業最重要的旗艦企業,也被併列為目前世界上首屈一指的通信公司之一。總集團員工數約20萬人。NTT DATA Group OSS Square集合 NTT 集團所有子公司研發的 OSS 資訊,成為目前日本最大的 OSS 入口網站。新聞來自: 日本 IT-Pro - 2008-10-07NTTがPostgreSQLベースのEnterpriseDBと提携,社内利用で30億円コスト削減見込む★ NTT 與以 PostgreSQL 為基礎的 EnterpriseDB 公司合作, 估計將削減該集團 30億日元的成本支出日本 NTT 於 2008年10月7日 發表,將出資和美國 EnterpriseDB 公司(以開發、販賣PostgreSQL KuoChaoYihttp://www.blogger.com/profile/16615231812854206332noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-2427641573608464922008-10-09T01:28:00.000+08:002008-10-09T01:31:50.197+08:00Java Type vs PostgreSQL Type 參考圖主要用來便於對應Java Type 與 PostgreSQL Type 的參考圖蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-23811264788638394662008-10-05T01:20:00.002+08:002008-10-05T01:25:11.460+08:00Java Type - 時間型別之間之差異 以PostgreSQL對應測試平台:JDK SE 6測試目標: java.util.Date java.util.Calendar java.sql.Date java.sql.Time java.sql.Timestamp測試目的: 對於五種都是所謂的時間類別,有什麼區別。1.是否能自己產生時間:java.util.Date:在java.util.Date建構子上,預設的情況,public Date() { this(System.currentTimeMillis()); } ,預設會調用System.currentTimeMillis()的方法。System.currentTimeMillis()在API的內容: currentTimeMillis public static long currentTimeMillis() 返回以毫秒為單位的當前時間。注意,當返回值的時間單位蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-69772417829761682942008-10-04T03:17:00.002+08:002008-10-04T03:20:36.343+08:00java.sql.PreparedStatement的方法測試-對應PostgreSQL JDBC4測試類別: java.sql.PreparedStatement測試目標: setBinaryStream()測試jdk: jdk1.6.0_10測試選擇資料庫:PostgreSQL 8.3.3測試資料庫對應之JDBC: postgresql-8.3-603.jdbc4測試原始碼:package zasax.test;import java.io.ByteArrayInputStream;import java.io.IOException;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import zasax.conn.PostgreConnection;/** * * @author YiCheng,Hsiao */public class 蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-30613874342685138762008-10-03T19:52:00.003+08:002008-10-03T20:01:58.914+08:00Java Type vs PostgreSQL Type (零) 總整理 /* default css */ table { font-size: 1em; line-height: inherit; } tr { text-align: left; } div, address, ol, ul, li, option, select { margin-top: 0px; margin-bottom: 0px; } p { margin: 0px; } body { margin: 6px; padding: 0px; font-family: Verdana, sans-serif; font-size: 10pt; background-color: #ffffff; } img { -moz-force-broken-image-icon: 1; } @media 蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-1059481365268119332008-10-03T19:49:00.002+08:002008-10-03T20:00:02.359+08:00Java Type vs PostgreSQL Type (十四) 序列化資料之對應 /* default css */ table { font-size: 1em; line-height: inherit; } tr { text-align: left; } div, address, ol, ul, li, option, select { margin-top: 0px; margin-bottom: 0px; } p { margin: 0px; } body { margin: 6px; padding: 0px; font-family: Verdana, sans-serif; font-size: 10pt; background-color: #ffffff; } img { -moz-force-broken-image-icon: 1; } @media 蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-79216175402096456542008-10-03T19:45:00.001+08:002008-10-03T19:47:10.649+08:00Java Type vs PostgreSQL Type (十三) 二進制檔案之對應二進制檔案: 再進行二進制檔案測試時,先在資料庫創建一張資料表。 資料表語法: CREATE TABLE binarytypes ( gif bytea, jpg bytea, png bytea, mp3 bytea, id serial NOT NULL, CONSTRAINT binarytypes_pkey PRIMARY KEY (id) ) 原始程式碼: JavaBinaryFileType:package zasax.type.binarytypes;import java.io.File;import 蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0tag:blogger.com,1999:blog-4672996368869750733.post-37761418413210264332008-10-03T19:40:00.001+08:002008-10-04T03:37:29.776+08:00Java Type vs PostgreSQL Type (十二) 時間型別之對應 -java.util.Calendar /* default css */ table { font-size: 1em; line-height: inherit; } tr { text-align: left; } div, address, ol, ul, li, option, select { margin-top: 0px; margin-bottom: 0px; } p { margin: 0px; } body { margin: 6px; padding: 0px; font-family: Verdana, sans-serif; font-size: 10pt; background-color: #ffffff; } img { -moz-force-broken-image-icon: 1; } @media 蕭小誠http://www.blogger.com/profile/11051752066658721139noreply@blogger.com0