CentOS 7下安裝PostgreSQL 9.6的教程分享,centospostgresql

來源:互聯網
上載者:User

CentOS 7下安裝PostgreSQL 9.6的教程分享,centospostgresql

前言

PostgreSQL是一個強大開源的對象關聯類型資料庫系統,它能運行於幾乎所有主要的作業系統,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。對於新的項目我是非常建議使用PostgreSQL。這裡就簡單的整理下CentOS下的安裝過程。

CentOS的源中內建有PostgreSQL,可以通過 yum list | grep postgresql 查看系統內建的版本,我這邊看到的是9.2版本,個人還是比較建議安裝更新的版本。

安裝

1、安裝 yum 源(地址從 http://yum.postgresql.org/repopackages.php 擷取)

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

這裡選擇的是最新的9.6版本,安裝完畢後使用 yum update 更新源資訊,然後再使用 yum list | grep postgresql ,是否已經有最新版本的postgresql。

[root@localhost ~]# yum list|grep postgresqlcalligra-kexi-driver-postgresql.x86_64 2.9.10-1.el7     epel  collectd-postgresql.x86_64    5.6.0-1.el7     epel  freeradius-postgresql.x86_64   3.0.4-6.el7     base  libreoffice-postgresql.x86_64   1:4.3.7.2-5.el7_2.1   updates mingw32-postgresql.noarch    9.3.4-2.el7     epel  mingw64-postgresql.noarch    9.3.4-2.el7     epel  opendbx-postgresql.x86_64    1.4.6-6.el7     epel  opensips-postgresql.x86_64    1.10.5-3.el7     epel  owncloud-postgresql.noarch    9.0.4-1.el7     epel  pcp-pmda-postgresql.x86_64    3.10.6-2.el7     base  pdns-backend-postgresql.x86_64   3.4.10-1.el7     epel  perdition-postgresql.x86_64    2.1-5.el7      epel  postgresql.i686       9.2.15-1.el7_2     updates postgresql.x86_64      9.2.15-1.el7_2     updates postgresql-contrib.x86_64    9.2.15-1.el7_2     updates postgresql-devel.i686     9.2.15-1.el7_2     updates postgresql-devel.x86_64     9.2.15-1.el7_2     updates postgresql-docs.x86_64     9.2.15-1.el7_2     updates postgresql-jdbc.noarch     9.4.1212-1.rhel7    pgdg96 postgresql-jdbc-javadoc.noarch   9.4.1212-1.rhel7    pgdg96 postgresql-libs.i686     9.2.15-1.el7_2     updates postgresql-libs.x86_64     9.2.15-1.el7_2     updates postgresql-odbc.x86_64     09.03.0100-2.el7    base  postgresql-pgpool-II.x86_64    3.4.6-1.el7     epel  postgresql-pgpool-II-devel.x86_64  3.4.6-1.el7     epel  postgresql-pgpool-II-extensions.x86_64 3.4.6-1.el7     epel  postgresql-plperl.x86_64    9.2.15-1.el7_2     updates postgresql-plpython.x86_64    9.2.15-1.el7_2     updates postgresql-plruby.x86_64    0.5.3-13.el7     epel  postgresql-plruby-doc.x86_64   0.5.3-13.el7     epel  postgresql-pltcl.x86_64     9.2.15-1.el7_2     updates postgresql-server.x86_64    9.2.15-1.el7_2     updates postgresql-test.x86_64     9.2.15-1.el7_2     updates postgresql-unit96.x86_64    1.0-1.rhel7     pgdg96 postgresql-unit96-debuginfo.x86_64  1.0-1.rhel7     pgdg96 postgresql-upgrade.x86_64    9.2.15-1.el7_2     updates postgresql96.x86_64      9.6.1-1PGDG.rhel7    pgdg96 postgresql96-contrib.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-debuginfo.x86_64   9.6.1-1PGDG.rhel7    pgdg96 postgresql96-devel.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-docs.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-libs.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-odbc.x86_64    09.05.0400-1PGDG.rhel7   pgdg96 postgresql96-plperl.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-plpython.x86_64   9.6.1-1PGDG.rhel7    pgdg96 postgresql96-pltcl.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-python.x86_64    4.2-1PGDG.rhel7    pgdg96 postgresql96-python-debuginfo.x86_64 4.2-1PGDG.rhel7    pgdg96 postgresql96-server.x86_64    9.6.1-1PGDG.rhel7    pgdg96 postgresql96-tcl.x86_64     2.1.1-1.rhel7     pgdg96 postgresql96-tcl-debuginfo.x86_64  2.1.1-1.rhel7     pgdg96 postgresql96-test.x86_64    9.6.1-1PGDG.rhel7    pgdg96 proftpd-postgresql.x86_64    1.3.5b-2.el7     epel  python-testing.postgresql.noarch  1.1.0-2.el7     epel  qt-postgresql.i686      1:4.8.5-12.el7_2    updates qt-postgresql.x86_64     1:4.8.5-12.el7_2    updates qt5-qtbase-postgresql.x86_64   5.6.1-3.el7     epel  soci-postgresql.x86_64     3.2.3-1.el7     epel  soci-postgresql-devel.x86_64   3.2.3-1.el7     epel

2、安裝PostgreSQL

這裡最核心的是要安裝postgresql96-server和postgresql96-contrib,其中”contrib”包裡包含了一些常用的組件和方法。

yum install postgresql96-server postgresql96-contrib

安裝後,可執行檔在 /usr/pgsql-9.5/bin/, 資料和設定檔在 /var/lib/pgsql/9.6/data/

3、初始化資料庫

/usr/pgsql-9.6/bin/postgresql96-setup initdb

4、預設情況下PostgreSQL不支援密碼登入,如需支援需要修改設定檔

vi /var/lib/pgsql/9.6/data/pg_hba.conf

將未注釋行中的ident 替換為 md5

# TYPE DATABASE  USER   ADDRESS     METHOD # "local" is for Unix domain socket connections onlylocal all    all          peer# IPv4 local connections:host all    all    127.0.0.1/32   ident# IPv6 local connections:host all    all    ::1/128     ident# Allow replication connections from localhost, by a user with the# replication privilege.#local replication  postgres        peer#host replication  postgres  127.0.0.1/32   ident#host replication  postgres  ::1/128     ident

如需開啟遠端存取,可編輯/var/lib/pgsql/9.6/data/postgresql.conf 檔案。

#listen_addresses = 'localhost'   修改為 listen_addresses='*' (當然,此處‘*'也可以改為任何你想開放的伺服器IP)

另外對於特定的IP還可以設定開啟信任遠端連線,修改/var/lib/pgsql/9.6/data/pg_hba.conf,按下面的格式進行添加設定。

# IPv4 local connections: host all   all  127.0.0.1/32  trust host all   all  8.8.8.8/32(需要已連線的服務器IP) trust

修改完配置以後不要忘了重啟服務。

5、管理服務,和其他服務一樣還是用systemd進行管理

systemctl start postgresql-9.6 #啟動服務systemctl restart postgresql-9.6 #重啟服務systemctl stop postgresql-9.6 #停止服務systemctl enable postgresql-9.6 #自動啟動

6、登入PostgreSQL

PostgreSQL 安裝完成後,會建立一下‘postgres'使用者,用於執行PostgreSQL,資料庫中也會建立一個'postgres'使用者,如果我們要使用PostgreSQL就必須先登入此帳號。

sudo -i -u postgres

執行後提示符會變為 ‘-bash-4.2$',再運行

同構執行進入 psql 進入postgresql命令列環境。

[root@localhost ~]# sudo -i -u postgres-bash-4.2$ psqlpsql (9.6.1)Type "help" for help. postgres=#

接著可以執行 ALTER USER postgres WITH PASSWORD '123456' 來設定postgres使用者密碼,可通過 \q  退出資料庫。

7、開啟防火牆

CentOS 防火牆中內建了PostgreSQL服務,設定檔位置在/usr/lib/firewalld/services/postgresql.xml,只需以服務方式將PostgreSQL服務開放即可。

firewall-cmd --add-service=postgresql --permanent 開放postgresql服務firewall-cmd --reload 重載防火牆

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

相關文章

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.