使用Postgresql遇到的一些問題和解決辦法

來源:互聯網
上載者:User

標籤: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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.