一、前言
1诺凡、本文主要內(nèi)容
- PostgreSQL 12 安裝(yum)
- PostgreSQL 12 基礎(chǔ)配置
- PostgreSQL 12 遠(yuǎn)程訪問配置
- PostgreSQL 基礎(chǔ)管理
2忧额、本文環(huán)境信息與適用范圍
- 環(huán)境信息
軟件 | 版本 |
---|---|
CentOS | 7.6 Release |
PostgreSQL | 12.x |
- 適用范圍
軟件 | 版本 |
---|---|
CentOS | CentOS 7.x |
PostgreSQL | 9.x-12.x |
二污秆、PostgreSQL安裝
1筝尾、導(dǎo)入yum源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
1丙唧、安裝PostgreSQL服務(wù)
sudo yum install -y postgresql12 postgresql12-server
安裝PostgreSQL 11就是 yum install postgresql12 postgresql12-server
安裝PostgreSQL 9.5就是 yum install postgresql95 postgresql95-server
依此類推
2、初始化數(shù)據(jù)庫(kù)
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
#Initializing database ... OK
3辣之、啟動(dòng)PostgreSQL服務(wù)
#啟動(dòng)PostgreSQL服務(wù)
sudo systemctl start postgresql-12
#設(shè)置PostgreSQL服務(wù)為開機(jī)啟動(dòng)
sudo systemctl enable postgresql-12
9.x版本的服務(wù)名是postgresql-9.x
二掰伸、修改postgres賬號(hào)密碼
PostgreSQL安裝成功之后,會(huì)默認(rèn)創(chuàng)建一個(gè)名為postgres的Linux用戶召烂,初始化數(shù)據(jù)庫(kù)后碱工,會(huì)有名為postgres的數(shù)據(jù)庫(kù),來存儲(chǔ)數(shù)據(jù)庫(kù)的基礎(chǔ)信息奏夫,例如用戶信息等等怕篷,相當(dāng)于MySQL中默認(rèn)的名為mysql數(shù)據(jù)庫(kù)。
postgres數(shù)據(jù)庫(kù)中會(huì)初始化一名超級(jí)用戶postgres
為了方便我們使用postgres賬號(hào)進(jìn)行管理酗昼,我們可以修改該賬號(hào)的密碼
1廊谓、進(jìn)入PostgreSQL命令行
通過su命令切換linux用戶為postgres會(huì)自動(dòng)進(jìn)入命令行
su postgres
2、啟動(dòng)SQL Shell
psql
3麻削、修改密碼
ALTER USER postgres WITH PASSWORD 'NewPassword';
三蒸痹、配置遠(yuǎn)程訪問
1、開放端口
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
2呛哟、修改IP綁定
#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf
#將監(jiān)聽地址修改為*
#默認(rèn)listen_addresses配置是注釋掉的叠荠,所以可以直接在配置文件開頭加入該行
listen_addresses='*'
3、允許所有IP訪問
#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf
#在問價(jià)尾部加入
host all all 0.0.0.0/0 md5
4扫责、重啟PostgreSQL服務(wù)
#重啟PostgreSQL服務(wù)
sudo systemctl restart postgresql-12
配置完成后即可使用客戶端進(jìn)行連接
四榛鼎、PostgreSQL shell常用語(yǔ)法示例
啟動(dòng)SQL shell:
su postgres
psql
1、數(shù)據(jù)庫(kù)相關(guān)語(yǔ)法示例
#創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE mydb;
#查看所有數(shù)據(jù)庫(kù)
\l
#切換當(dāng)前數(shù)據(jù)庫(kù)
\c mydb
#創(chuàng)建表
CREATE TABLE test(id int,body varchar(100));
#查看當(dāng)前數(shù)據(jù)庫(kù)下所有表
\d
2鳖孤、用戶與訪問授權(quán)語(yǔ)法示例
#新建用戶
CREATE USER test WITH PASSWORD 'test';
#賦予指定賬戶指定數(shù)據(jù)庫(kù)所有權(quán)限
GRANT ALL PRIVILEGES ON DATABASE mydb TO test;
#移除指定賬戶指定數(shù)據(jù)庫(kù)所有權(quán)限
REVOKE ALL PRIVILEGES ON DATABASE mydb TO test
權(quán)限代碼:SELECT者娱、INSERT、UPDATE苏揣、DELETE黄鳍、TRUNCATE、REFERENCES平匈、TRIGGER框沟、CREATE、CONNECT吐葱、TEMPORARY街望、EXECUTE、USAGE
五弟跑、備注
1、相關(guān)閱讀
原文首發(fā)于我的個(gè)人博客:https://ken.io/note/centos7-postgresql12-install-and-configuration