Linux CentOS 7 安裝PostgreSQL 9.3(發行版本)

來源:互聯網
上載者:User

標籤:his   ubuntu   rest   虛擬   開放   init   key   pack   title   

前言

如題,本篇blog記錄一下在Linux CentOS 7中安裝PostgresSQL的整個過程以及資料庫配置等,在Linux系統中,PostgreSQL的安裝方式分兩種,分別是:

  1. 二進位安裝包安裝
  2. 源碼編譯安裝

由於我們沒有什麼特殊需求所在在此選擇較為簡單的方式——二進位安裝包安裝,二進位包安裝的方法一般都是通過不同發行版本的Linux下的包管理器進行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令來安裝,命令如下:

sudo apt-get install postgresql

而在RedHat。CentOS或Fedora下則使用yum工具來安裝PostgreSQL,命令如下:

yum install postgresql-server.x86_64

先大概瞭解一下,下面就具體介紹一下整個安裝過程和細節。

安裝PostgreSQL

我選擇的是yum安裝,需求是9.3的版本,所以直接輸入軟體庫的位置即可(安裝之前可以通過rpm -qa | grep postgres命令查看是否有已安裝的postgresql的rpm包,如果有的話可以通過yum remove postgresql*命令執行卸載):

yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm

也可以直接在官方的RPM Repository中手動下載指定版本,地址如下:PostgreSQL RPM Repository(with Yum),根據需求選擇基於CentOS 7的9.3版本即可:

下載好之後進入rpm包目錄運行rpm -ivh ./pgdg-centos93-9.3-3.noarch.rpm安裝rpm包即可,之後就可以繼續安裝PostgreSQL以及一些必備的組件,如官方給出的Guide:

如,由於我們這裡安裝的是9.3版本,所以直接輸入以下命令安裝即可:

yum install postgresql93-server postgresql93-contrib

安裝日誌如下:


安裝完成後首先要做的是初始化db,需要注意的一點是在CentOS 7中postgresql預設的安裝目錄是:/usr/pgsql-9.3,預設的資料目錄是/var/lib/pgsql/version/data,下面是官方給出的Guide:

這裡需要注意的是要到切換到postgresql的安裝目錄中執行初始化命令,我們可以在安裝目錄中找到initdb指令碼:

進入bin目錄運行初始化命令即可完成資料庫的初始化:

初始化成功就可以啟動資料庫了並登入了,啟動命令如下:

systemctl start postgresql-9.3.service

啟動後即可登入,我們使用postgres使用者進行登入:

如所示,可以看到已經成功啟動服務並查詢了資料庫版本,接下來通過\l命令可以查看目前有哪些資料庫:

如,可以看到預設有4個資料庫,\q為退出命令。為了安全起見,接下來我們修改一下postgres使用者的密碼,預設是空:

alter user postgres with password ‘111111‘;

如:

最後如果是作為DB伺服器的話需要將資料庫服務設定為開機啟動:

關於安裝相關的設定至此就已全部結束,接下來看看用戶端工具(Navicat)如何串連資料庫。

用戶端串連PostgreSQL

如題,既然用戶端要串連,首先第一步肯定是開放連接埠了,在CentOS 7中引入了一個更強大的防火牆——Firewall,所以我們需要在Firewall中開啟PostgreSQL的預設連接埠5432,也就是將5432連接埠加入到zone(Firewall的新特性,簡單講它的作用就是定義了網路地區網路連接的可信等級)中。命令如下:

firewall-cmd --zone=public --add-port=5432/tcp --permanent

這樣就成功的將5432連接埠加入了public地區中,permanent參數表示永久生效,即重啟也不會失效,最後不要忘記更新防火牆規則:

firewall-cmd --reload

OK,下面看一下public地區下所有已開啟的連接埠,命令如下:

firewall-cmd --zone=public --list-ports

可以看到5432連接埠已經成功開放:

只開放了連接埠並不夠,PostgreSQL在安全方面也做的很好,它可以指定哪些ip地址能遠端存取資料庫伺服器,預設情況下是只監聽本地,所以首先需要讓PostgreSQL監聽整個網路,首先進入PostgreSQL的安裝目錄,找到設定檔,路徑如下:

 cd /var/lib/pgsql/9.3/data/

主要修改以下兩個檔案:

如,首先的PostgreSQL的主設定檔postgresql.conf,將listen_addresses前的#去掉,並將listen_addresses = ‘localhost’改成listen_addresses = ‘*’:

接下來要修改pg_hba.conf檔案,將允許訪問的ip地址加進列表,格式為”Type Database User Address Method”,比如我希望只有192.168.111.1這個地址能遠端存取PostgreSQL資料庫的話,加入下面的配置即可:

最後重啟資料庫服務使配置生效:

systemctl restart postgresql-9.3.service

此時就用主機的Navicat(192.168.111.1)串連虛擬機器中的PostgreSQL伺服器測試一下:

如,可以看到成功串連,至此關於PostgreSQL的安裝就已全部介紹完畢。

總結

簡單記錄一下在Linux CentOS 7系統下安裝PostgreSQL 9.3版本的全過程以及相關的配置,The End。

Linux CentOS 7 安裝PostgreSQL 9.3(發行版本)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.