,我們那裏不一樣,日本時代前比阿公店,也就是岡山人口還多),大部份是演歌仔戲、布袋戲,有時是電影。聽母親回憶(我那時候太小了,我自己只有極少的記憶,或是...該說是印象吧),我那時如果是歌仔戲這種亮晃晃的,我就會大搖大擺走進去看免錢的;如果是放電影,光線暗暗的,我就一下子就走出來了。這裏還有一件好玩的事。我常常這樣大搖大擺進去,有些新來不知道的收票小姐,都會叫:囝仔、囝仔......。想阻止我這個猴死囝仔進去大看霸王戲。這時老闆娘都會說:他是姑婆的孫仔,沒關係啦,讓他進去,這間戲園就像他開的一樣。
已經好久沒和 Jeff 一起天還沒亮就出草了。去年六月三十日,夏至剛過,這段時間正是一年中拍日出的好時段,Paco 叔願意帶我們去另一個地點,拍拍一些奇石,所以我們就一堆人一起約約去拍拍,百聞不如一見的萬里拳頭石。
這顆石頭在兩、三年前常常在 DCView 出現,朋友 GSMBOY 早就把它給拍爛了。但是就是一直沒人帶路,所以我只知道它位在萬里海邊,卻一直不知如何前往。原來,它就在萬里和基隆外木山交界附近,我常常去外木山,就不知道多開它個一、兩公里的路就可以抵達。拳頭石離台二線車道不遠,但是如果你想從看得到它的台二線,越過護欄直接殺下去,是做不到的。因為沒路徑可到。或許你想,自己開一條路下去不就成了,只要你去過一次,你就會知道,台二線在這裏的路基是加高的,所以沒階梯你是沒辦法下去的。那入口處在哪呢?居然在半公里前,基隆和萬里交界處,有一個「獅子山公園」,旁邊有一個停車場,就在停車場的西側,有一個濱海步道,就是從那條步道下去。拳頭石等於是一塊浮出水面的礁石,所以即使從步道走過去,到了附近還是得跳石而過,才能抵達它的旁邊拍攝。我們到的時間有點晚,所以剛開始拍,天色就微亮了。
相機:Canon EOS Kiss Digital N
1. Carl Zeiss Distagon 28mm f/2.8 T*
上次 利用 SSL 讓 PostgreSQL 有一個安全的網路傳輸 談到如何在 PostgreSQL 伺服器端上設定,讓資料通訊能夠以 SSL 加密所要傳送的資料。那篇文章的最後,我留了一個伏筆,不在該篇討論客戶端的連接。那是因為依客戶端的特質的不同,SSL 加密連接的設定方式也就不同,如果要在當時就討論,那麼那篇文章就太過冗長了。PostgreSQL 的客戶端的連接方式很多,如果你用的語言是 C,那麼你可以直接用 libpg 這類的 API 直接連接;用 Java 的,當然得透 JDBC driver (除非你太閒,想證明自己的實力,用 JNI 來寫);如果你用 MS Access,那麼就要用 ODBC 來連接;如果你要用 Visual BASIC.NET、C# 則用 .NET provider......。換句話說,客戶端不同時,SSL 的設定方式就不同。
如果你的資料庫應用,全都只能讓伺服器本機上的應用程式連線使用,那麼就太過暴殄天物了。RDBMS 原本就是設計來讓多人同時使用的,我們評比一個資料庫系統的良莠,有一個評定的標準就是同時連線的數目,看看這套資料庫管理系統,同時可以服務多少使用者。所以從網路上連上資料庫就變成相當稀鬆平常的應用。但是,一旦資料在網路上傳遞,就有資料外洩的考量。如果你存放的資料不怕被外人窺視也就算了,但是這是不可能的事,一般公司存放在資料庫中的資料,絕對都是機密性高的資料,所以當你的應用程式和資料庫間,一旦有人得以偷窺資料封包時,恐怕資料外洩是勢必難避免的。
那麼,我們所安裝的 PostgreSQL 在網路上傳遞資料的安全性是如何呢?如果是預設安裝,那麼很抱歉,在 FreeBSD 上的 PostgreSQL port 是極不安全的,連密碼都是以明碼的方式在網路上傳遞的。很不幸的,Windows 版本也是。Ubuntu 比較好,預設已把 SSL 支援加上,但是它也有缺點,缺點和 Debian 一樣,改版的速度太過緩慢,慢到會讓人抓狂,尤其是安全性更新。
唉!升級...升級...升級...這一陣子一直升級,這次輪到 PostgreSQL 大升級。PostgreSQL 不像其它軟體,即使是 8.2 升級到 8.3,也必須大改,所以無法直接用 upgrade 工具直接升。即使是 Windows 版本,也必須勞心費力一番。這次我用 FreeBSD 版本的升級做為例子,來說明最簡單也是最正確的大改版升級步驟。
首先,請先把原本資料庫的資料完全備份下來。如果你是 Windows 的使用者或是 Linux 的使用者,你可以考慮使用 pgAdmin III 的「工具」選單中的「備份」或「備份全域」來做,這樣簡單很多,但是由於 pgAdmin III 的說明太少,我實在看不懂「備份」對話方塊中選項的含意,所以乾脆不用。最正式的方法是使用在 console 下的工具:pg_dump 和 pg_dumpall。兩者的差別在於,前者可以針對某個特定的 database 做備份,而後者一般用來把整個伺服器資料做完整的備份。我建議直接使用 pg_dumpall 比較方便和快速。
所以我學資料庫的方法和目前很多技術學院的學生的途徑很像,只是我在第二年又碰到一個更新鮮的玩意兒 ─ Microsoft SQL Server 6.5。
PostgreSQL 雖然有 pgAdmin III 這個極好用的管理工具,但是 pgAdmin 還是有一些資訊,必須由伺服器本身提供。但是,PostgreSQL server 原本並沒有主動提供這些「系統」資訊到管理界面的功能,所以,就必須再加裝一些擴充模組,讓伺服器擁有提供這些資訊的能力。這個擴充模組叫做 adminpack contrib module,它提供了一些和 pgAdmin 相互交換資訊的功能:
朋友四位最近在修資料庫相關的課程,剛好教授要他們討論有關 PostgreSQL 這套資料庫,他早就一直聽我在推廣 PostgreSQL,所以誤以為我對它極為熟悉,剛好從 Skype 上看到我上線,就詢問我一些與 PostgreSQL 相關的問題,以及到哪裏可以找到 PostgreSQL 的相關資料,當然最好是中文書籍。
這個問題問倒我了。首先,雖然我從 2000 年開始就接觸 PostgreSQL,但是由於那時 7.x 版才剛出現,所以我的知識大多還留在這時候的 PostgreSQL。當然時序進入 2004/2005 年時,由於 8.0 版釋出,我又花了一點時間研讀了一些 PostgreSQL 的資料,但是這和我為了工作死 K 活 K Oracle 的精神是完全不能相比的。這八年來 PostgreSQL 進步很多,而且不像 MySQL 的進步,有一種令人覺得是疊床架屋的感覺,PostgreSQL 一直就循著既定的 roadmap 穩定的進展。
在昨天的那篇 如何在 Cygwin 上安裝 Syslogd 中,我曾經提到一般 Unix-like 所採用的是 FSF 提供的 GNU Inetutils,也提到了這個套件的安全上疑慮。所以如果你不想把一堆 r-tools 及 tftp 這些有安全疑慮的工具一起裝進來,那麼最好改用 syslog-ng,意思就是 New Generation syslog,新一代的 syslog。