Apr 4, 2015

QNAP/Linux Tool - PostgreSQL from 9.2.1.0 Beta to 9.3.4.1

在更新重要軟體系統之前,要記得一件事:「先備份」。
QNAP/Linux Tool - PostgreSQL Database Backup and Restore
QNAP App Center: PostgreSQL has update version (2015/03/17)
之前用PostgreSQL有些問題,開發要避開。因此,很高興就click下去。
安裝結果:失敗
安裝結果失敗就算了,原來的PostgreSQL 9.2.1.0 Beta竟然就移除了,建立在上面的資料庫也不見了。算了,先備份資料庫檔案再說。
4       ./pg_snapshots
536     ./global
2932    ./pg_clog
4       ./pg_xlog/archive_status
49160   ./pg_xlog
4       ./pg_serial
4       ./pg_twophase
1139728 ./base/22222
5996    ./base/1
7996    ./base/27567
1244420 ./base/23131
5892    ./base/12002
6188    ./base/16386
8064    ./base/12007
4       ./base/pgsql_tmp
2418292 ./base
4       ./pg_stat_tmp
4       ./pg_tblspc
172     ./pg_subtrans
12      ./pg_notify
12      ./pg_multixact/members
12      ./pg_multixact/offsets
28      ./pg_multixact
2471196 .

再來安裝PostgreSQL 9.3.4.1 ==> 失敗!原來要先安裝PHP
現在PHP也出現在QNAP App Center了!
之後,再安裝就好了。

PostgreSQL 9.3.4.1更新日誌
[Fixed Issues]
- Fixed an issue which causes failure of PostgreSQL if PHP version is 5.5.x.

...

接著,嘗試從幾天前由QNAP備份到Windows的db.backup檔案,回覆到QNAP PostgreSQL上。但是失敗了!可能因為原備份db是9.2版的關係嗎?
PostgreSQL跨不同OS平台的備份/還原有問題,雖然都是9.4版
可能是網路問題,連線到同網段機器,在試看看。Disable選項設定ON,是想說避免因為 "Trigger" 導致schema contraints以外的資料,因trigger or check而無法加入,產生錯誤而無法完成restore。
Set "Single transaction" ON
最後,順利完成了。但是因為"Single transaction" 的關係,database size長大了!沒關係,空間換取時間,以後再試PSQL的縮減方法 (shrink db)。 

...

找另外一台QNAP,先安裝PHP,再更新PostgreSQL 9.3.4.1,直接就成功了。但是 ... 原來的設定pg_hba.conf, postgresql.conf都被覆蓋了,連原來的databases也不見了。還好我已經備份了,再次修改.conf加強安全性,好像是要逼我再練習一遍。這樣會造成用戶很大困擾,QNAP應該要注意!

No comments :

Post a Comment