標籤:linux database postgresql
最近幫QA的同事建立一台postgresql測試伺服器過程中遇到了些許問題,列舉一下以作備份,也為以後使用做參考。
1. postgresql 預設的系統yum源裡只有版本為8.4.18-1.el6_4, 而我需要安裝9.2版本的。
到pgsql官網上去查看,它提供了一個安裝9.2版本的的yum源地址:http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-sl92-9.2-8.noarch.rpm
使用如下命令安裝該源
yum install http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-sl92-9.2-8.noarch.rpm
安裝pgsql-9.2的命令為
yum install postgresql92-server
即可將包檔案 postgresql92-server-9.2.9-1PGDG.rhel6.x86_64 安裝到系統
啟動服務命令為service postgresql-9.2 start
2. 在匯入一個資料庫時出現錯誤"ERROR: type "hstore" does not exist"
按照網上提示的解決辦法,執行一條SQL語句"create extension hstore;", 但是報另一條錯誤資訊
"ERROR: could not open extension control file "/usr/pgsql-9.2/share/extension/hstore.control": No such file or directory"
進入檔案路徑/usr/pgsql-9.2/share/extension/, 發現下面的確沒有hstore.control這個檔案,於是懷疑是否有些相關的包檔案未安裝齊全,那麼採取暴力一點的辦法,把所有有關postgresql92的安裝包全部裝上,
yum install postgresql92*
postgresql92-libs-9.2.9-1PGDG.rhel6.x86_64postgresql92-pltcl-9.2.9-1PGDG.rhel6.x86_64postgresql92-debuginfo-9.2.9-1PGDG.rhel6.x86_64postgresql92-plpython-9.2.9-1PGDG.rhel6.x86_64postgresql92-9.2.9-1PGDG.rhel6.x86_64postgresql92-devel-9.2.9-1PGDG.rhel6.x86_64postgresql92-contrib-9.2.9-1PGDG.rhel6.x86_64postgresql92-odbc-09.02.0100-1PGDG.rhel6.x86_64postgresql92-tcl-2.0.0-1.rhel6.x86_64postgresql92-test-9.2.9-1PGDG.rhel6.x86_64postgresql92-odbc-debuginfo-09.02.0100-1PGDG.rhel6.x86_64postgresql92-jdbc-debuginfo-9.2.1002-1PGDG.rhel6.x86_64postgresql92-tcl-debuginfo-2.0.0-1.rhel6.x86_64postgresql92-server-9.2.9-1PGDG.rhel6.x86_64postgresql92-jdbc-9.2.1002-1PGDG.rhel6.x86_64postgresql92-plperl-9.2.9-1PGDG.rhel6.x86_64postgresql92-docs-9.2.9-1PGDG.rhel6.x86_64
然後再進入路徑/usr/pgsql-9.2/share/extension/,該有的檔案都有了,再嘗試匯入資料庫,未出現剛剛的那個錯誤
3. QA同事在測試伺服器上啟動程式時不能串連到資料庫伺服器
查看pgsql的設定檔/var/lib/pgsql/9.2/data/postgresql.conf,裡面有相關的選項
- Connection Settings -listen_addresses = ‘localhost‘ # what IP address(es) to listen on; # defaults to ‘localhost‘; use ‘*‘ for all
原來這樣啟動方式只能玩單機版,區域網路的其他伺服器不能串連到該資料庫伺服器,更改為
listen_addresses = ‘*‘
另外還有一個設定檔/var/lib/pgsql/9.2/data/pg_hba.conf也需要修改,加入以下參數,允許所有網段訪問該資料庫,也可以特別指定一些網段如192.168.1.0/24等等
# IPv4 local connections:host all all 0.0.0.0/0 trust
重啟pgsql後其他伺服器可以串連資料庫
這是目前使用postgresql中遇到的一些問題,還需加強其相關知識的學習才能不斷提高。
本文出自 “努力為之” 部落格,請務必保留此出處http://carllai.blog.51cto.com/1664997/1531284