溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)如何安裝PostgreSQL

發(fā)布時(shí)間:2022-01-24 11:09:27 來(lái)源:億速云 閱讀:188 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Linux系統(tǒng)如何安裝PostgreSQL的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

PostgreSQL 簡(jiǎn)介:

  • PostgreSQL是一個(gè)功能強(qiáng)大的開(kāi)源對(duì)象關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),他使用和擴(kuò)展了SQL語(yǔ)言,并結(jié)合了許多安全存儲(chǔ)和擴(kuò)展最復(fù)雜數(shù)據(jù)工作負(fù)載的功能。

  • PostgreSQL的起源可以追溯到1986年,作為加州大學(xué)伯克利分校POSTGRES項(xiàng)目的一部分,并且在核心平臺(tái)上進(jìn)行了30多年的積極開(kāi)發(fā)。

  • PostgresSQL憑借其經(jīng)過(guò)驗(yàn)證的架構(gòu),可靠性,數(shù)據(jù)完整性,強(qiáng)大的功能集,可擴(kuò)展性以及軟件背后的開(kāi)源社區(qū)的奉獻(xiàn)精神贏得了良好的聲譽(yù),以始終如一地提供高性能和創(chuàng)新的解決方案。

  • PostgreSQL在所有主要操作系統(tǒng)開(kāi)始使用PostgreSQL從未如此簡(jiǎn)單。

Linux系統(tǒng)安裝PostgreSQL 詳細(xì)步驟:

1.檢查PostgreSQL 是否已經(jīng)安裝

Linux-軟件包管理-rpm命令管理-查詢
 rpm -qa | grep postgres    檢查PostgreSQL 是否已經(jīng)安裝
 rpm -qal | grep postgres   檢查PostgreSQL 安裝位置

Linux系統(tǒng)如何安裝PostgreSQL

若已經(jīng)安裝,則使用rpm -e 命令卸載。

 rpm -e postgresql94-contrib-9.4.4-1PGDG.rhel6.x86_64 postgresql94-server-9.4.4-1PGDG.rhel6.x86_64  卸載
 rpm -e postgresql94-libs-9.4.4-1PGDG.rhel6.x86_64 postgresql94-9.4.4-1PGDG.rhel6.x86_64  卸載

Linux系統(tǒng)如何安裝PostgreSQL

可以使用rpm -qa | grep postgres再次查看是否還有Postgres安裝文件,沒(méi)有卸載完成。

2.使用yum庫(kù)設(shè)置安裝postgresql94版本,最好先創(chuàng)建用戶組和用戶:

Linux系統(tǒng)如何安裝PostgreSQL

(1)新增postgres用戶組:

 groupadd postgres

(2)新增postgres用戶并且設(shè)置這個(gè)用戶屬于上面創(chuàng)建的postgres用戶組:

 useradd -g postgres postgres

(3)修改postgres用戶密碼:passwd postgres(這里設(shè)置密碼為postgres)

 passwd postgres  --修改postgres用戶密碼
 yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm  使用yum庫(kù)

Linux系統(tǒng)如何安裝PostgreSQL

3.安裝postgresql94

 yum search postgresql     //也可以先找一下,server版會(huì)有多個(gè),決定選擇裝哪個(gè)
 yum -y install postgresql94-server postgresql94-contrib   //安裝postgresql94

Linux系統(tǒng)如何安裝PostgreSQL

注意:如果出現(xiàn)錯(cuò)誤,首先停止服務(wù)查看服務(wù)名稱chkconfig –list找到postgresql的服務(wù)名,注意服務(wù)名可能會(huì)帶有版本號(hào),service 服務(wù)名 stop,然后使用rpm -e卸載命令,然后在執(zhí)行上面的安裝就可以了

Linux系統(tǒng)如何安裝PostgreSQL

安裝成功

Linux系統(tǒng)如何安裝PostgreSQL

可以使用rpm -qal|grep postgres這個(gè)命令查看安裝文件的位置,注意默認(rèn)的postgresql配置文件的位置和名稱(帶有版本號(hào))

Linux系統(tǒng)如何安裝PostgreSQL

查看/etc/rc.d/init.d/postgresql-9.4文件中的PGDATA信息,并顯示行號(hào)。

 cat /etc/rc.d/init.d/postgresql-9.4 | grep -n PGDATA -n顯示行號(hào)

Linux系統(tǒng)如何安裝PostgreSQL

上圖說(shuō)明默認(rèn)數(shù)據(jù)庫(kù)文件的安裝位置是在:/var/lib/pgsql/9.4/data,如果需要改變數(shù)據(jù)庫(kù)文件的存放位置可以修改這里,下面會(huì)介紹如何修改默認(rèn)數(shù)據(jù)庫(kù)文件的存放位置。先看看這個(gè)目錄里面有沒(méi)有數(shù)據(jù)庫(kù)的文件:

 ls -la /var/lib/pgsql/9.4/data 查看這個(gè)目錄里面的內(nèi)容

Linux系統(tǒng)如何安裝PostgreSQL

上圖說(shuō)明postgresql安裝完成之后,默認(rèn)數(shù)據(jù)庫(kù)文件存放所使用的目錄是空的。

下面的內(nèi)容比較重要,介紹postgresql數(shù)據(jù)庫(kù)如何安裝:

一、如何更改默認(rèn)數(shù)據(jù)庫(kù)安裝位置,安裝postgresql數(shù)據(jù)庫(kù):

Linux添加/刪除用戶和用戶組

1、刪除postgres用戶和他的文件信息(如果之前安裝過(guò))

 userdel -r postgres

2、刪除postgres用戶組(如果之前安裝過(guò))

 groupdel postgres

(1)新增postgres用戶組:

 groupadd postgres

(2)新增postgres用戶并且設(shè)置這個(gè)用戶屬于上面創(chuàng)建的postgres用戶組:

 useradd -g postgres postgres

(3)修改postgres用戶密碼:passwd postgres(這里設(shè)置密碼為postgres)

 passwd postgres   --修改postgres用戶密碼

Linux系統(tǒng)如何安裝PostgreSQL

創(chuàng)建數(shù)據(jù)庫(kù)文件存放的目錄:/mnt/pgsql/data

 mkdir -p /mnt/pgsql/data 遞歸方式創(chuàng)建pgsql/data目錄

Linux系統(tǒng)如何安裝PostgreSQL

默認(rèn)剛建立的目錄/mnt/pgsql和/mnt/pgsql/data的所有者和所有組都是root,需要修改為postgres用戶和用戶組。

 chown -R postgres:postgres /mnt/pgsql
 ll /mnt
 chown -R postgres:postgres /mnt/pgsql/data
 ll /mnt/pgsql

查看是否已經(jīng)更改為postgres用戶和用戶組了。

Linux系統(tǒng)如何安裝PostgreSQL

Linux系統(tǒng)如何安裝PostgreSQL

接下來(lái)就是要修改默認(rèn)數(shù)據(jù)庫(kù)文件存放路徑了:

修改postgresql數(shù)據(jù)庫(kù)的配置文件(/etc/rc.d/init.d/postgresql-9.4)中的PGDATA和PGLOG改成我們自己創(chuàng)建的目錄:/mnt/pgsql:

 PGDATA=/mnt/pgsql/data
 PGLOG=/mnt/pgsql/pgstartup.log

Linux系統(tǒng)如何安裝PostgreSQL

保存之后,繼續(xù)查詢initdb文件的存放位置:

 find / -name initdb 查找initdb 的安裝位置

Linux系統(tǒng)如何安裝PostgreSQL

指定數(shù)據(jù)庫(kù)存放位置和編碼方式,初始化數(shù)據(jù)庫(kù):

 /usr/pgsql-9.4/bin/initdb -E UNICODE -D /mnt/pgsql/data

Linux系統(tǒng)如何安裝PostgreSQL

注意: 出現(xiàn)上面的錯(cuò)誤說(shuō)明Postgresql不能以root身份初始化,要以postgres用戶的身份運(yùn)行,所以上面要?jiǎng)?chuàng)建linux用戶postgres和組postgres。

切換postgres用戶執(zhí)行初始化數(shù)據(jù)庫(kù)操作

 su - postgres  切換用戶
 /usr/pgsql-9.4/bin/initdb -E UNICODE -D /mnt/pgsql/data --初始化數(shù)據(jù)庫(kù)
 cd /mnt/pgsql/data 切換目錄
 ll 查詢初始化數(shù)據(jù)庫(kù)成功之后的目錄內(nèi)容

Linux系統(tǒng)如何安裝PostgreSQL

編輯postgresql.conf文件,修改數(shù)據(jù)庫(kù)默認(rèn)接收的監(jiān)聽(tīng)地址與端口參數(shù):

 cat postgresql.conf | grep -n listen_addresses  查找listen_addresses在postgresql.conf文件中的位置并顯示行號(hào)
 vi postgresql.conf 編輯postgresql.conf文件

查詢listen_addresses的值:

Linux系統(tǒng)如何安裝PostgreSQL

修改前l(fā)isten_addresses的值:

Linux系統(tǒng)如何安裝PostgreSQL

去掉59行的注釋,將listen_addresses = ‘localhost’ 改成 listen_addresses = ‘*’,下圖是修改后listen_addresses的值:

Linux系統(tǒng)如何安裝PostgreSQL

接下來(lái)繼續(xù)修改pg_hba.conf文件,告訴數(shù)據(jù)庫(kù)服務(wù)器它將允許什么樣的客戶端連接到自己:

 vi pg_hba.conf --修改postgresql服務(wù)連接文件

修改前的源文件:

Linux系統(tǒng)如何安裝PostgreSQL

在86行下面增加一行,表示允許任何一個(gè)客戶端使用正確的用戶名和密碼訪問(wèn)自己:

 host    all             all             0.0.0.0/0               trust

Linux系統(tǒng)如何安裝PostgreSQL

Linux系統(tǒng)如何安裝PostgreSQL

 # TYPE  DATABASE        USER            ADDRESS                 METHOD
 
 # "local" is for Unix domain socket connections only
 local   all             all                                     trust或peer
 # IPv4 local connections:
 host    all             all             127.0.0.1/32            trust
 host    all             all             0.0.0.0/0               password
 # IPv6 local connections:
 host    all             all             ::1/128                 password
 # 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

Linux系統(tǒng)如何安裝PostgreSQL

備注:設(shè)置 trust,本地可以使用psql -U postgres直接登錄服務(wù)器;設(shè)置 peer,本地可以使用psql -h 127.0.0.1 -d postgres -U postgres直接登錄服務(wù)器;

 exit --返回root用戶

Linux系統(tǒng)如何安裝PostgreSQL

 chkconfig --list 查看所有服務(wù)并找到postgre的服務(wù)名稱

Linux系統(tǒng)如何安裝PostgreSQL

默認(rèn)postgresql-9.4不是自啟動(dòng)的,我們需要設(shè)置postgresql-9.4服務(wù)為自啟動(dòng)服務(wù):

 chkconfig postgresql-9.4 on  設(shè)置服務(wù)自啟動(dòng)
 chkconfig --list

Linux系統(tǒng)如何安裝PostgreSQL

 service postgresql-9.4 status 查看服務(wù)狀態(tài)
 service postgresql-9.4 start 啟動(dòng)postgresql-9.4服務(wù)

Linux系統(tǒng)如何安裝PostgreSQL

有三種方式可以查看postgresql運(yùn)行是否運(yùn)行

 ps -ef | grep postgres  查postgres的進(jìn)程信息
 netstat -tpnl | grep 5432   查postgres的端口號(hào)5432是否已經(jīng)打開(kāi)service postgresql-9.4 status 查看服務(wù)狀態(tài)

Linux系統(tǒng)如何安裝PostgreSQL

開(kāi)始連接postgresql數(shù)據(jù)庫(kù):

 psql -U postgres //連接pgsql server
 psql -h 127.0.0.1 -d postgres -U postgres //連接pgsql server

Linux系統(tǒng)如何安裝PostgreSQL

看到上圖表示連接數(shù)據(jù)庫(kù)成功了。

修改配置文件pg_hba.conf之后,登錄數(shù)據(jù)庫(kù)重新刷新更新后的配置命令:

 select pg_reload_conf();

Linux系統(tǒng)如何安裝PostgreSQL

 show data_directory;

Linux系統(tǒng)如何安裝PostgreSQL

為數(shù)據(jù)庫(kù)默認(rèn)的登陸名postgres(等同于SQLServer里面的sa)設(shè)置登陸數(shù)據(jù)庫(kù)的密碼:

 ALTER USER postgres WITH PASSWORD '1234'; //添加密碼
 select * from pg_shadow;\q回車 退出登錄

Linux系統(tǒng)如何安裝PostgreSQL

設(shè)置防火墻

 iptables -I INPUT -p tcp --dport 22 -j ACCEPT
 iptables -I INPUT -p tcp --dport 5432 -j ACCEPT
 service iptables save
 service iptables restart cat /etc/sysconfig/iptables

Linux系統(tǒng)如何安裝PostgreSQL

二、采用默認(rèn)的方式安裝postgresql數(shù)據(jù)庫(kù)文件:

直接執(zhí)行下面的命令,都不需要?jiǎng)?chuàng)建linux用戶:

 service postgresql-9.4 initdb

Linux系統(tǒng)如何安裝PostgreSQL

如果啟動(dòng)過(guò)程中報(bào)錯(cuò)了,例如:Data directory is not empty![失敗],估計(jì)是卸載出了問(wèn)題,刪除/var/lib/pgsql目錄下面所有文件,使用rpm -e 命令卸載重新安裝.

 cd /var/lib/pgsql/data
 cd /var/lib/pgsql
 cd /var/lib
 rm -rf /var/lib/pgsql
 ll /var/lib

Linux系統(tǒng)如何安裝PostgreSQL

 rpm -e postgresql94-contrib-9.4.3-1PGDG.rhel6.x86_64 postgresql94-server-9.4.3-1PGDG.rhel6.x86_64 postgresql94-9.4.3-1PGDG.rhel6.x86_64 postgresql94-libs-9.4.3-1PGDG.rhel6.x86_64  卸載
 yum -y install postgresql94-server postgresql94-contrib  安裝service postgresql-9.4 initdb  初始化數(shù)據(jù)庫(kù)

Linux系統(tǒng)如何安裝PostgreSQL

設(shè)置開(kāi)機(jī)啟動(dòng)postgresql

 chkconfig postgresql-9.4 on

Linux系統(tǒng)如何安裝PostgreSQL

查看postgresql運(yùn)行是否運(yùn)行

 ps -ef | grep postgres  查postgres的進(jìn)程信息
 netstat -tpnl |grep 5432   查postgres的端口號(hào)5432是否已經(jīng)打開(kāi)service postgresql-9.4 status 查看服務(wù)狀態(tài)

Linux系統(tǒng)如何安裝PostgreSQL

用postgres用戶登錄,并改密碼

 su postgres  //切換用戶

如果出現(xiàn)下面的錯(cuò)誤,需要重新運(yùn)行postgresql的服務(wù),若想psql能直接登陸,再重啟一下DB,socket文件會(huì)隨著服務(wù)器的啟動(dòng)而生成。

Linux系統(tǒng)如何安裝PostgreSQL

 ps -ef | grep postgre 查postgre進(jìn)程

Linux系統(tǒng)如何安裝PostgreSQL

 kill -9 31308
 service postgresql-9.4 status
 service postgresql-9.4 stop
 service postgresql-9.4 start

Linux系統(tǒng)如何安裝PostgreSQL

 su postgres  //切換用戶
 psql -U postgres    //連接pgsql server

Linux系統(tǒng)如何安裝PostgreSQL

 ALTER USER postgres WITH PASSWORD '1234'; //添加密碼
 select * from pg_shadow;

Linux系統(tǒng)如何安裝PostgreSQL

 \q 退出

如果出現(xiàn)下面這個(gè)錯(cuò)誤

Linux系統(tǒng)如何安裝PostgreSQL

需要繼續(xù)創(chuàng)建文件

 touch /home/postgres/.psql_history 創(chuàng)建這個(gè)文件
 chmod -R g+w  /home/postgres  提升postgres這個(gè)目錄的權(quán)限
 chmod a+w /home/postgres/.psql_history 提升.psql_history這個(gè)文件的權(quán)限

Linux系統(tǒng)如何安裝PostgreSQL

修改/var/lib/pgsql/9.4/data/postgresql.conf(這個(gè)文件是默認(rèn)的安裝位置)

 vi /var/lib/pgsql/9.4/data/postgresql.conf 修改postgresql的配置文件

Linux系統(tǒng)如何安裝PostgreSQL

去掉59行的注釋,將listen_addresses = ‘localhost’ 改成 listen_addresses = ‘*’

Linux系統(tǒng)如何安裝PostgreSQL

修改/var/lib/pgsql/9.4/data/pg_hba.conf(這個(gè)文件是默認(rèn)的安裝位置)

 vi /var/lib/pgsql/9.4/data/pg_hba.conf 修改postgresql服務(wù)連接文件

Linux系統(tǒng)如何安裝PostgreSQL

第80行:peer改稱md5,本地就可以連接自己了。

在82行下面增加一行

 host    all             all             192.168.6.0/24          md5  允許192.168.0.0網(wǎng)段連接
 host    all         all        0.0.0.0/0         md5  允許所有IP連接

Linux系統(tǒng)如何安裝PostgreSQL

關(guān)閉防火墻

 service iptables stop

重啟postgresql的服務(wù)

 service postgresql-9.4 restart

Linux系統(tǒng)如何安裝PostgreSQL

三、使用客戶端工具就可以連接成功了!

Navicat for PostgreSQL

Linux系統(tǒng)如何安裝PostgreSQL

感謝各位的閱讀!關(guān)于“Linux系統(tǒng)如何安裝PostgreSQL”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI