Linux CentOS 7安裝PostgreSQL9.3圖文教程
如題,本篇blog記錄一下在Linux CentOS 7中安裝PostgresSQL的整個(gè)過程以及數(shù)據(jù)庫配置等,在Linux系統(tǒng)中,PostgreSQL的安裝方式分兩種,分別是:
1、二進(jìn)制安裝包安裝
2、源碼編譯安裝
由于我們沒有什么特殊需求所在在此選擇較為簡單的方式——二進(jìn)制安裝包安裝,二進(jìn)制包安裝的方法一般都是通過不同發(fā)行版本的Linux下的包管理器進(jìn)行的,例如Debian和Ubuntu下是使用apt-get命令或aptitude命令來安裝,命令如下:
sudo apt-get install postgresql
而在RedHat。CentOS或Fedora下則使用yum工具來安裝PostgreSQL,命令如下:
yum install postgresql-server.x86_64
先大概了解一下,下面就具體介紹一下整個(gè)安裝過程和細(xì)節(jié)。
安裝PostgreSQL
我選擇的是yum安裝,需求是9.3的版本,所以直接輸入軟件庫的位置即可(安裝之前可以通過rpm -qa | grep postgres命令查看是否有已安裝的postgresql的rpm包,如果有的話可以通過yum remove postgresql*命令執(zhí)行卸載):
也可以直接在官方的RPM Repository中手動(dòng)下載指定版本,地址如下:PostgreSQL RPM Repository(with Yum) ,根據(jù)需求選擇基于CentOS 7的9.3版本即可:
下載好之后進(jìn)入rpm包目錄運(yùn)行rpm -ivh ./pgdg-centos93-9.3-3.noarch.rpm安裝rpm包即可,之后就可以繼續(xù)安裝PostgreSQL以及一些必備的組件,如官方給出的Guide:
如上圖,由于我們這里安裝的是9.3版本,所以直接輸入以下命令安裝即可:
yum install postgresql93-server postgresql93-contrib
安裝日志如下:
安裝完成后首先要做的是初始化db,需要注意的一點(diǎn)是在CentOS 7中postgresql默認(rèn)的安裝目錄是:/usr/pgsql-9.3,默認(rèn)的數(shù)據(jù)目錄是/var/lib/pgsql/version/data,下面是官方給出的Guide:
這里需要注意的是要到切換到postgresql的安裝目錄中執(zhí)行初始化命令,我們可以在安裝目錄中找到initdb腳本:
進(jìn)入bin目錄運(yùn)行初始化命令即可完成數(shù)據(jù)庫的初始化:
初始化成功就可以啟動(dòng)數(shù)據(jù)庫了并登錄了,啟動(dòng)命令如下:
systemctl start postgresql-9.3.service
啟動(dòng)后即可登錄,我們使用postgres用戶進(jìn)行登錄:
如上圖所示,可以看到已經(jīng)成功啟動(dòng)服務(wù)并查詢了數(shù)據(jù)庫版本,接下來通過\l命令可以查看目前有哪些數(shù)據(jù)庫:
如上圖,可以看到默認(rèn)有4個(gè)數(shù)據(jù)庫,\q為退出命令。為了安全起見,接下來我們修改一下postgres用戶的密碼,默認(rèn)是空:
alter user postgres with password '111111';
如下圖:
最后如果是作為DB服務(wù)器的話需要將數(shù)據(jù)庫服務(wù)設(shè)置為開機(jī)啟動(dòng):
關(guān)于安裝相關(guān)的設(shè)置至此就已全部結(jié)束,接下來看看客戶端工具(Navicat)如何連接數(shù)據(jù)庫。
客戶端連接PostgreSQL
如題,既然客戶端要連接,首先第一步肯定是開放端口了,在CentOS 7中引入了一個(gè)更強(qiáng)大的防火墻——Firewall,所以我們需要在Firewall中開啟PostgreSQL的默認(rèn)端口5432,也就是將5432端口加入到zone(Firewall的新特性,簡單講它的作用就是定義了網(wǎng)絡(luò)區(qū)域網(wǎng)絡(luò)連接的可信等級)中。命令如下:
firewall-cmd --zone=public --add-port=5432/tcp --permanent
這樣就成功的將5432端口加入了public區(qū)域中,permanent參數(shù)表示永久生效,即重啟也不會失效,最后不要忘記更新防火墻規(guī)則:
firewall-cmd --reload
OK,下面看一下public區(qū)域下所有已打開的端口,命令如下:
firewall-cmd --zone=public --list-ports
可以看到5432端口已經(jīng)成功開放:
只開放了端口并不夠,PostgreSQL在安全方面也做的很好,它可以指定哪些ip地址能遠(yuǎn)程訪問數(shù)據(jù)庫服務(wù)器,默認(rèn)情況下是只監(jiān)聽本地,所以首先需要讓PostgreSQL監(jiān)聽整個(gè)網(wǎng)絡(luò),首先進(jìn)入PostgreSQL的安裝目錄,找到配置文件,路徑如下:
cd /var/lib/pgsql/9.3/data/
主要修改以下兩個(gè)文件:
如上圖,首先的PostgreSQL的主配置文件postgresql.conf,將listen_addresses前的#去掉,并將listen_addresses = ‘localhost'改成listen_addresses = ‘*':
接下來要修改pg_hba.conf文件,將允許訪問的ip地址加進(jìn)列表,格式為”Type Database User Address Method”,比如我希望只有192.168.111.1這個(gè)地址能遠(yuǎn)程訪問PostgreSQL數(shù)據(jù)庫的話,加入下面的配置即可:
最后重啟數(shù)據(jù)庫服務(wù)使配置生效:
systemctl restart postgresql-9.3.service
此時(shí)就用主機(jī)的Navicat(192.168.111.1)連接虛擬機(jī)中的PostgreSQL服務(wù)器測試一下:
如上圖,可以看到成功連接,至此關(guān)于PostgreSQL的安裝就已全部介紹完畢。
總結(jié)
簡單記錄一下在Linux CentOS 7系統(tǒng)下安裝PostgreSQL 9.3版本的全過程以及相關(guān)的配置,The End。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PostgreSQL 更新視圖腳本的注意事項(xiàng)說明
這篇文章主要介紹了PostgreSQL 更新視圖腳本的注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL表膨脹監(jiān)控案例(精確計(jì)算)
這篇文章主要介紹了PostgreSQL表膨脹監(jiān)控案例(精確計(jì)算),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL數(shù)據(jù)庫字符串拼接、大小寫轉(zhuǎn)換以及substring詳解
在日常工作中會遇到將多行的值拼接為一個(gè)值展現(xiàn),下面這篇文章主要給大家介紹了關(guān)于PostgreSQL數(shù)據(jù)庫字符串拼接、大小寫轉(zhuǎn)換以及substring的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04PostgreSQL中的template0和template1庫使用實(shí)戰(zhàn)
這篇文章主要介紹了PostgreSQL中的template0和template1庫使用實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋
這篇文章主要介紹了postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01pgsql之create user與create role的區(qū)別介紹
這篇文章主要介紹了pgsql之create user與create role的區(qū)別介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql 實(shí)現(xiàn)replace into功能的代碼
這篇文章主要介紹了postgresql 實(shí)現(xiàn)replace into功能的代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01