CentOS 安裝postgreSQL9.1

以下是在CentOS5.5上安裝postgresql9.1的相關記錄

(1) 從http://yum.pgrpms.org/repopackages.php 下載postgresql9.1 rpm安裝包
  [root@server1 ~]# wget http://yum.pgrpms.org/9.1/redhat/rhel-5-i386/pgdg-centos91-9.1-4.noarch.rpm
(2)安裝pgdg-centos91-9.1-4.noarch.rpm
  [root@server1 ~]# rpm -i pgdg-centos91-9.1-4.noarch.rpm 
(3)更改CentOS-Base.repo
  爲方便通過yum安裝postgresql9.1的相關軟件,所以需要更改CentOS-Base.repo,以便於yum list postgresql* 能找到postgresql9.1的相關軟件包
  只需要在 CentOS-Base.repo的[base] and [updates]中增加'exclude=postgresql*'即可
  具體操作如下:
    [root@server1 ~]# cd /etc/yum.repos.d 
    [root@server1 yum.repos.d]# vi CentOS-Base.repo  
      [base]
      name=CentOS-$releasever - Base
      mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
      #baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/os/$basearch/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
      exclude=postgresql*
      #released updates
      [updates]
      name=CentOS-$releasever - Updates
      mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
      #baseurl=http://ftp.sjtu.edu.cn/centos/$releasever/updates/$basearch/
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
      exclude=postgfesql*
      #packages used/produced in the build but not released
(4)通過yum list postgres*來檢測相關的安裝包
  [root@server1 yum.repos.d]# yum list postgres*
    Available Packages 
    postgresql91.x86_64                         9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-contrib.x86_64                 9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-debuginfo.x86_64               9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-devel.i686                     9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-devel.x86_64                   9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-docs.x86_64                    9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-jdbc.x86_64                    9.1.901-1PGDG.rhel6           pgdg91 
    postgresql91-jdbc-debuginfo.x86_64          9.1.901-1PGDG.rhel6           pgdg91 
    postgresql91-libs.i686                      9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-libs.x86_64                    9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-odbc.x86_64                    09.00.0200-1PGDG.rhel6        pgdg91 
    postgresql91-odbc-debuginfo.x86_64          09.00.0200-1PGDG.rhel6        pgdg91 
    postgresql91-plperl.x86_64                  9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-plpython.x86_64                9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-pltcl.x86_64                   9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-python.x86_64                  4.0-2PGDG.rhel6               pgdg91 
    postgresql91-python-debuginfo.x86_64        4.0-2PGDG.rhel6               pgdg91 
    postgresql91-server.x86_64                  9.1.1-1PGDG.rhel6             pgdg91 
    postgresql91-tcl.x86_64                     1.9.0-1.rhel6                 pgdg91 
    postgresql91-tcl-debuginfo.x86_64           1.9.0-1.rhel6                 pgdg91 
    postgresql91-test.x86_64                    9.1.1-1PGDG.rhel6             pgdg91 
    postgresql_autodoc.noarch                   1.40-1.rhel6                  pgdg91 
    [root@server1 yum.repos.d]# 
(6)使用yum安裝postgresql9.1以及相關軟件包
  [root@server1 yum.repos.d]# yum install postgresql91 postgresql91-devel postgresql91-server postgresql91-libs postgresql91-contrib 
(7)初始化並啓動postgresql
  [root@server1 yum.repos.d]# service postgresql-9.1 initdb 
  Initializing database:                                     [  OK  ] 
  [root@server1 yum.repos.d]# 
  [root@server1 yum.repos.d]# service postgresql-9.1 initdb 
  Initializing database:                                     [  OK  ] 
  [root@server1 yum.repos.d]# 


安裝postgresql注意事項:
(1)如果在initdb時失敗,則很有可能是因爲系統默認字符編碼和postgresql所認可的不一致所導致的,這時可以通過/var/lib/pgsql/9.1/pgstartup.log的相關出錯信息來確認
  如果確定是編碼的問題導致initdb失敗,則可以通過在initdb時指定--no-locale來解決,具體方法如下
  1.1 [root@GJZ bin]# su - postgres
  1.2 -bash-3.2$ /usr/local/pgsql/bin/initdb --no-locale
    The files belonging to this database system will be owned by user "postgres".
    This user must also own the server process.
    The database cluster will be initialized with locale C.
    The default database encoding has accordingly been set to SQL_ASCII.
    The default text search configuration will be set to "english".
    fixing permissions on existing directory /var/lib/pgsql/9.1/data ... ok
(2) 注意修改/var/lib/pgsql/9.1/data中的postgresql.conf和pg_hba.conf文件,根據需要配置相關的訪問策略


參考資料:
(1)http://www.davidghedini.com/pg/entry/install_postgresql_9_on_centos
(2)http://www.linuxfly.org/post/88/

發佈了67 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章