Centos7安裝配置Postgresql12

一、安裝

1.1 根據(jù)操作系統(tǒng)選擇yum倉庫

https://www.postgresql.org/download/linux/redhat/

根據(jù)操作系統(tǒng),選擇yum倉庫:


選擇合適的yum倉庫

這里我們選擇的是Centos7:

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

1.2 yum安裝

第一步:

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

第二步:
安裝

yum install postgresql12-server

成功如圖:


安裝成功

第三步:
安裝第三方依賴庫:

 yum install postgresql12-libs
 yum install postgresql12-contrib
 yum install postgresql12-devel

1.3 初始化數(shù)據(jù)庫

/usr/pgsql-12/bin/postgresql-12-setup initdb

1.4 設(shè)置為開機(jī)啟動

systemctl enable postgresql-12

1.5 啟動postgresql

 systemctl start postgresql-12

1.6 設(shè)置linux用戶postgres的密碼

默認(rèn)情況下,一旦postgresql安裝完畢之后颤诀,linux會自動為postgresql數(shù)據(jù)庫生成一個名為postgres的用戶,我們可以修改該用戶的密碼。
這里我們把密碼設(shè)置為:postgres

[root@iZ8vba1umdjvda1s95cyf6Z ~]# passwd postgres
Changing password for user postgres.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@iZ8vba1umdjvda1s95cyf6Z ~]#

1.7 修改數(shù)據(jù)庫用戶postgres的密碼

在postgresql安裝完成后温亲,默認(rèn)有一個數(shù)據(jù)庫用戶postgres,我們可以為其設(shè)置密碼:首先杯矩,我們先在linux系統(tǒng)上栈虚,由root用戶切換到postgres用戶下:

[root@iZ8vba1umdjvda1s95cyf6Z ~]# su - postgres

然后執(zhí)行如下命令:

psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'NewPassword';"

1.8 登錄數(shù)據(jù)庫并查看數(shù)據(jù)庫版本

以postgres用戶的身份登錄postgresql數(shù)據(jù)庫:

登錄命令: psql -U postgres

-bash-4.2$ psql -U  postgres
psql (9.2.24, server 12.3)
WARNING: psql version 9.2, server version 12.0.
         Some psql features might not work.
Type "help" for help.

postgres=#

查詢數(shù)據(jù)庫的版本信息:

postgres=# select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)

postgres=#

1.9 配置監(jiān)聽參數(shù)

修改配置文件:/var/lib/pgsql/12/data/postgresql.conf

[root@iZ8vba1umdjvda1s95cyf6Z ~]# vim /var/lib/pgsql/12/data/postgresql.conf

修改為:監(jiān)聽所有的ip,端口號為:5432

配置監(jiān)聽端口號和ip

重啟pg:

 systemctl restart  postgresql-12

查看運行狀態(tài):

[root@iZ8vba1umdjvda1s95cyf6Z ~]#  systemctl status postgresql-12

顯示如下:

[root@iZ8vba1umdjvda1s95cyf6Z ~]#  systemctl status postgresql-12
● postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-06-16 14:55:49 CST; 25min ago
     Docs: https://www.postgresql.org/docs/12/static/
  Process: 28528 ExecStartPre=/usr/pgsql-12/bin/postgresql-12-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 28535 (postmaster)
   CGroup: /system.slice/postgresql-12.service
           ├─28535 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
           ├─28537 postgres: logger   
           ├─28540 postgres: checkpointer   
           ├─28541 postgres: background writer   
           ├─28542 postgres: walwriter   
           ├─28543 postgres: autovacuum launcher   
           ├─28544 postgres: stats collector   
           ├─28545 postgres: logical replication launcher   
           └─31015 postgres: postgres postgres [local] idle

2.0 配置遠(yuǎn)程訪問

這個pg_hba.conf文件是控制客戶端認(rèn)證的配置文件史隆。(HBA stands for host-based authentication)

遠(yuǎn)程訪問認(rèn)證

(詳情鏈接:https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html

編輯配置文件:

[root@iZ8vba1umdjvda1s95cyf6Z ~]# vim /var/lib/pgsql/12/data/pg_hba.conf
image.png

修改為:

image.png

重啟數(shù)據(jù)庫:

[root@iZ8vba1umdjvda1s95cyf6Z ~]#  systemctl restart postgresql-12

2.1 防火墻放開5432端口

[root@iZ8vba1umdjvda1s95cyf6Z ~]# firewall-cmd --add-port=5432/tcp --permanent
success
[root@iZ8vba1umdjvda1s95cyf6Z ~]# firewall-cmd --reload
success
[root@iZ8vba1umdjvda1s95cyf6Z ~]#

測試端口連通性:


[root@iZ8vba1umdjvda1s95cyf6Z ~]# nc -w 1   87.99.230.18    5432  < /dev/null && echo "tcp port ok"
tcp port ok
[root@iZ8vba1umdjvda1s95cyf6Z ~]#

到此魂务,我們就可以用Navicat連接pg數(shù)據(jù)庫了。

2.2 創(chuàng)建數(shù)據(jù)庫和用戶

2.2.1 創(chuàng)建一個用戶并指定密碼:

切換到postgres用戶:

[root@iZ8vba1umdjvda1s95cyf6Z ~]# su postgres

然后登陸pg:

psql -U postgres

創(chuàng)建用戶并指定密碼:

postgres=# create user myuserwith password 'PASSWORD';
CREATE ROLE
postgres=#

2.2.2 創(chuàng)建數(shù)據(jù)庫并指定屬主

postgres=# create database  mydb  owner  myuser;

2.2.3 數(shù)據(jù)庫賦權(quán)

數(shù)據(jù)庫賦權(quán)泌射,未賦權(quán)則賬戶只能登錄控制臺粘姜。

postgres=# grant all privileges on database mydb  to myuser;
GRANT
postgres=#

2.3 卸載postgresql

yum remove postgresql*

二、其他配置

2.1 時區(qū)配置

查詢時區(qū):

SHOW timezone;
image.png

設(shè)置服務(wù)器的時區(qū)

vim /var/lib/pgsql/12/data/postgresql.conf
image.png

重啟:

[root@iZ8vba1umdjvda1s95cyf6Z ~]#  systemctl restart  postgresql-12

2.2 服務(wù)器編碼集設(shè)置

設(shè)置默認(rèn)字符集

[root@iZ8vba1umdjvda1s95cyf6Z ~]# su postgres
bash-4.2$ psql -U postgres
could not change directory to "/root"
psql (9.2.24, server 12.3)
WARNING: psql version 9.2, server version 12.0.
         Some psql features might not work.
Type "help" for help.

postgres=# initdb -E UTF8;

創(chuàng)建數(shù)據(jù)庫時指定編碼:

postgres-# create database hercules with encoding 'UTF-8' template template0 lc_collate='zh_CN.utf8' lc_ctype='zh_CN.utf8'
postgres-#

三熔酷、備份及恢復(fù)

3.1 備份

備份命令:pg_dump

pg_dump可用于將一個PostgreSQL的數(shù)據(jù)提取成一個腳本文件或歸檔文件孤紧。

pg_dump only dumps a single database. To back up an entire cluster, or to back up global objects that are common to all databases in a cluster (such as roles and tablespaces), use pg_dumpall.

pg_dump dbname > dumpfile

示例:

pg_dump mydb > db.sql

3.2 恢復(fù)

pg_restore命令

更多信息,請訪問postgresql官網(wǎng):https://www.postgresql.org

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拒秘,一起剝皮案震驚了整個濱河市号显,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌躺酒,老刑警劉巖押蚤,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異羹应,居然都是意外死亡揽碘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門量愧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钾菊,“玉大人,你說我怎么就攤上這事偎肃∩诽蹋” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵累颂,是天一觀的道長滞详。 經(jīng)常有香客問我凛俱,道長,這世上最難降的妖魔是什么料饥? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任蒲犬,我火速辦了婚禮,結(jié)果婚禮上岸啡,老公的妹妹穿的比我還像新娘原叮。我一直安慰自己,他們只是感情好巡蘸,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布奋隶。 她就那樣靜靜地躺著,像睡著了一般悦荒。 火紅的嫁衣襯著肌膚如雪唯欣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天搬味,我揣著相機(jī)與錄音境氢,去河邊找鬼。 笑死碰纬,一個胖子當(dāng)著我的面吹牛萍聊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘀趟,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼脐区,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了她按?” 一聲冷哼從身側(cè)響起毁枯,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嗜浮,失蹤者是張志新(化名)和其女友劉穎象缀,沒想到半個月后跪削,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡陵刹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年默伍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衰琐。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡也糊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羡宙,到底是詐尸還是另有隱情狸剃,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布狗热,位于F島的核電站钞馁,受9級特大地震影響虑省,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜僧凰,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一探颈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧训措,春花似錦伪节、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至全闷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萍启,已是汗流浹背总珠。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留勘纯,地道東北人局服。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像驳遵,于是被迫代替她去往敵國和親淫奔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355