Centos下PostgreSQL安裝及修改數(shù)據(jù)目錄

?????? 記錄下在Centos7.6 安裝PostgreSQL數(shù)據(jù)庫,版本10.12的過程,第一次裝,遇到的坑太多了,網(wǎng)上教程坑也多,有的版本不一樣方法不一樣?;税胩鞎r(shí)間…

背景:

內(nèi)網(wǎng)服務(wù)器,搭了個(gè)sonarqube代碼審計(jì)系統(tǒng),用的docker,docker跑的postgresql數(shù)據(jù)庫(有坑),數(shù)據(jù)庫出過兩次問題,不用docker了,老大說要本地裝,今天收到命令,我也沒裝過,中午就開搞,搞到了晚上……大概裝、刪、解決各種坑,晚上又改數(shù)據(jù)目錄幾個(gè)小時(shí)。。


安裝參考:https://www.cnblogs.com/Crise2018/p/11568328.html

修改/data路徑參考:http://blog.itpub.net/29654823/viewspace-2147325/


一、安裝

1、查看自己的系統(tǒng)是否安裝了postgresql數(shù)據(jù)庫

命令如下:?rpm -qa | grep postgresql???????? (因?yàn)楸镜赜邪惭b過,很多安裝包)

查看:?rpm -qal | grep postgresql? 位置
刪除 yum?remove?postgresql*

2、開始安裝

從postgreSQL源網(wǎng)址下載安裝yum源。https://yum.postgresql.org/repopackages.php#pg10

選擇centos的,右鍵復(fù)制鏈接地址,服務(wù)器yum……

yum install?https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

菜鳥上也有apt方法:https://www.runoob.com/postgresql/linux-install-postgresql.html

2.1查看下載的包,

yumlist |grep postgresql

安裝服務(wù):yuminstallpostgresql10-contrib postgresql10-server -y

4個(gè)包,下載的慢,10分鐘吧。

3、解決docker中數(shù)據(jù)庫問題

因?yàn)閐ocker,postgres占用了5432端口,不刪掉沒發(fā)用。所以現(xiàn)在開始學(xué)習(xí)docker,docker容器,里面有鏡像。

docker images??? #可以列出當(dāng)前服務(wù)器上所有存在的docker鏡像

就是這個(gè)postgres,但要?jiǎng)h掉前,先要停掉他。刪除之前要確認(rèn)此鏡像已經(jīng)沒有被容器在使用,如果存在正在運(yùn)行的docker容器,刪除會(huì)報(bào)錯(cuò)“Error: container_delete: Impossible to remove a running container,please stop it first”

docker stop (id) #停止

docker rmi (id)#刪掉,docker rmi 容器id來刪除一個(gè)鏡像,如圖所示,因?yàn)殓R像是采用分層存儲(chǔ),所以刪除時(shí),顯示很多tag。

/usr/pgsql-10/bin/postgresql-10-setup initdb? #安裝后初始化


二、啟動(dòng)服務(wù)!

好,還很順利,起服務(wù)!

sudo systemctl start postgresql-10? #起服務(wù),和service postgresql-10 start 一樣

sudo systemctl enable postgresql-10 service? #開機(jī)自啟動(dòng)

sudo systemctl status postgresql-10(service postgresql-10 status) #查看狀態(tài)

Postgresql安裝目錄在/usr/pgsql-10,

Postgresql的數(shù)據(jù)目錄會(huì)放在/var/lib/pgsql/版本號/data目錄下。(后面會(huì)改/data)

三、登錄

1、登錄

su - postgres #切換到postgres用戶下

psql #登陸數(shù)據(jù)庫

ALTER USER postgres WITH PASSWORD <password>;#修改密碼

退出:\q

然后exit

\l 用于查看已經(jīng)存在的數(shù)據(jù)庫

CREATE DATABASE dbname;? #創(chuàng)建數(shù)據(jù)庫

Drop database dbname;??#刪除數(shù)據(jù)庫

四、修改數(shù)據(jù)目錄

安裝完成了,但是我們要改數(shù)據(jù)目錄,因?yàn)槟J(rèn)的/var目錄空間不夠,要放到data下。

1)在數(shù)據(jù)庫軟件安裝之后,初始化數(shù)據(jù)庫時(shí)候,可以指定初始化時(shí)創(chuàng)建的數(shù)據(jù)庫的默認(rèn)文件路徑,(如果初始化時(shí)這么做就好了!?。。。?/p>

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

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

這樣初始化之后,再修改配置文件postgresql.conf為修改之后的數(shù)據(jù)文件路徑,就能保證以后的數(shù)據(jù)文件也在這個(gè)路徑下了。

2)如果是已經(jīng)初始化好了,再修改數(shù)據(jù)文件路徑的,如下過程:

找到配置文件查看當(dāng)前數(shù)據(jù)存儲(chǔ)路徑在哪

postgres=# SHOW data_directory;

/var/lib/pgsql/10/data

停掉PGSQL

sudo service postgresql-10 stop

拷貝原來的數(shù)據(jù)路徑到新的路徑下

sudo?rsync?-av?/var/lib/pgsql?/data/

設(shè)置用戶和權(quán)限

sudo chown -R postgres:postgres /data/psql

sudo chmod 700 /data/psql

將配置文件的數(shù)據(jù)存儲(chǔ)路徑改成新的

cd /data/pgsql/10/datavi

postgresql.conf

data_directory=‘/data/psql/10/data’??? #最重要,確實(shí)改成自己的data路徑才成功。

再啟動(dòng)就行了

sudo service postgresql-10 start

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容