程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> PostgreSQL >> Linux CentOS 7安裝PostgreSQL9.3圖文教程

Linux CentOS 7安裝PostgreSQL9.3圖文教程

編輯:PostgreSQL

如題,本篇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。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved