一、前言
1、本文主要內容
- PostgreSQL 12 安裝(yum)
- PostgreSQL 12 基礎配置
- PostgreSQL 12 遠程訪問配置
- PostgreSQL 基礎管理
2、本文環境信息與適用范圍
- 環境信息
軟件 | 版本 |
---|---|
CentOS | 7.6 Release |
PostgreSQL | 12.x |
- 適用范圍
軟件 | 版本 |
---|---|
CentOS | CentOS 7.x |
PostgreSQL | 9.x-12.x |
二、PostgreSQL安裝
1、導入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服務
sudo yum install -y postgresql12 postgresql12-server
安裝PostgreSQL 11就是 yum install postgresql12 postgresql12-server
安裝PostgreSQL 9.5就是 yum install postgresql95 postgresql95-server
依此類推
2、初始化數據庫
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb #Initializing database ... OK
3、啟動PostgreSQL服務
#啟動PostgreSQL服務 sudo systemctl start postgresql-12 #設置PostgreSQL服務為開機啟動 sudo systemctl enable postgresql-12
9.x版本的服務名是postgresql-9.x
二、修改postgres賬號密碼
PostgreSQL安裝成功之后,會默認創建一個名為postgres的Linux用戶,初始化數據庫后,會有名為postgres的數據庫,來存儲數據庫的基礎信息,例如用戶信息等等,相當於MySQL中默認的名為mysql數據庫。
postgres數據庫中會初始化一名超級用戶postgres
為了方便我們使用postgres賬號進行管理,我們可以修改該賬號的密碼
1、進入PostgreSQL命令行
通過su命令切換linux用戶為postgres會自動進入命令行
su postgres
2、啟動SQL Shell
psql
3、修改密碼
ALTER USER postgres WITH PASSWORD 'NewPassword';
三、配置遠程訪問
1、開放端口
sudo firewall-cmd --add-port=5432/tcp --permanent sudo firewall-cmd --reload
2、修改IP綁定
#修改配置文件 vi /var/lib/pgsql/12/data/postgresql.conf #將監聽地址修改為* #默認listen_addresses配置是注釋掉的,所以可以直接在配置文件開頭加入該行 listen_addresses='*'
3、允許所有IP訪問
#修改配置文件 vi /var/lib/pgsql/12/data/pg_hba.conf #在問價尾部加入 host all all 0.0.0.0/0 md5
4、重啟PostgreSQL服務
#重啟PostgreSQL服務 sudo systemctl restart postgresql-12
配置完成后即可使用客戶端進行連接
四、PostgreSQL shell常用語法示例
啟動SQL shell:
su postgres psql
1、數據庫相關語法示例
#創建數據庫 CREATE DATABASE mydb; #查看所有數據庫 \l #切換當前數據庫 \c mydb #創建表 CREATE TABLE test(id int,body varchar(100)); #查看當前數據庫下所有表 \d
2、用戶與訪問授權語法示例
#新建用戶 CREATE USER test WITH PASSWORD 'test'; #賦予指定賬戶指定數據庫所有權限 GRANT ALL PRIVILEGES ON DATABASE mydb TO test; #移除指定賬戶指定數據庫所有權限 REVOKE ALL PRIVILEGES ON DATABASE mydb TO test
權限代碼:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE