PostgreSQL: The World's Most Advanced Open Source Relational Database
官網:https://www.postgresql.org/
1、 安裝官方yum倉庫源
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、 安裝postgresql13-server 服務
sudo yum install -y postgresql13-server
已加載插件:fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * epel: hk.mirrors.thegigabit.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com 正在解決依賴關系 --> 正在檢查事務 ---> 軟件包 postgresql13-server.x86_64.0.13.2-1PGDG.rhel7 將被 安裝 --> 正在處理依賴關系 postgresql13-libs(x86-64) = 13.2-1PGDG.rhel7,它被軟件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在處理依賴關系 postgresql13(x86-64) = 13.2-1PGDG.rhel7,它被軟件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在處理依賴關系 libpq.so.5()(64bit),它被軟件包 postgresql13-server-13.2-1PGDG.rhel7.x86_64 需要 --> 正在檢查事務 ---> 軟件包 postgresql13.x86_64.0.13.2-1PGDG.rhel7 將被 安裝 ---> 軟件包 postgresql13-libs.x86_64.0.13.2-1PGDG.rhel7 將被 安裝 --> 解決依賴關系完成 依賴關系解決 ============================================================================================================================================== Package 架構 版本 源 大小 ============================================================================================================================================== 正在安裝: postgresql13-server x86_64 13.2-1PGDG.rhel7 pgdg13 5.4 M 為依賴而安裝: postgresql13 x86_64 13.2-1PGDG.rhel7 pgdg13 1.4 M postgresql13-libs x86_64 13.2-1PGDG.rhel7 pgdg13 379 k 事務概要 ============================================================================================================================================== 安裝 1 軟件包 (+2 依賴軟件包) 總下載量:7.2 M 安裝大小:30 M Downloading packages: (1/3): postgresql13-libs-13.2-1PGDG.rhel7.x86_64.rpm | 379 kB 00:00:27 (2/3): postgresql13-13.2-1PGDG.rhel7.x86_64.rpm | 1.4 MB 00:01:24 (3/3): postgresql13-server-13.2-1PGDG.rhel7.x86_64.rpm | 5.4 MB 00:05:00 ---------------------------------------------------------------------------------------------------------------------------------------------- 總計 22 kB/s | 7.2 MB 00:05:27 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安裝 : postgresql13-libs-13.2-1PGDG.rhel7.x86_64 1/3 正在安裝 : postgresql13-13.2-1PGDG.rhel7.x86_64 2/3 正在安裝 : postgresql13-server-13.2-1PGDG.rhel7.x86_64 3/3 驗證中 : postgresql13-server-13.2-1PGDG.rhel7.x86_64 1/3 驗證中 : postgresql13-13.2-1PGDG.rhel7.x86_64 2/3 驗證中 : postgresql13-libs-13.2-1PGDG.rhel7.x86_64 3/3 已安裝: postgresql13-server.x86_64 0:13.2-1PGDG.rhel7 作為依賴被安裝: postgresql13.x86_64 0:13.2-1PGDG.rhel7 postgresql13-libs.x86_64 0:13.2-1PGDG.rhel7
完畢!
3、查看安裝的包
rpm -qa | grep postgres
4、查看安裝地址
rpm -qal | grep postgres
5、# 初始化數據(數據庫存儲位置:/var/lib/pgsql/13/data):
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
這里對比一下 初始化之前和之后
6、設置開機啟動
sudo systemctl enable postgresql-13
7、啟動服務
sudo systemctl start postgresql-13 #重新啟動 sudo systemctl restart postgresql-13 #停止服務 sudo systemctl stop postgresql-13 #查看服務狀態 sudo systemctl status postgresql-13
8、查看服務狀態
[root@kycxtest121 data]# sudo systemctl status postgresql-13 ● postgresql-13.service - PostgreSQL 13 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled) Active: active (running) since 二 2021-03-02 13:59:42 CST; 10s ago Docs: https://www.postgresql.org/docs/13/static/ Process: 6097 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 6103 (postmaster) CGroup: /system.slice/postgresql-13.service ├─6103 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/ ├─6105 postgres: logger ├─6107 postgres: checkpointer ├─6108 postgres: background writer ├─6109 postgres: walwriter ├─6110 postgres: autovacuum launcher ├─6111 postgres: stats collector └─6112 postgres: logical replication launcher 3月 02 13:59:41 kycxtest121 systemd[1]: Starting PostgreSQL 13 database server... 3月 02 13:59:41 kycxtest121 postmaster[6103]: 2021-03-02 13:59:41.915 CST [6103] 日志: 日志輸出重定向到日志收集進程 3月 02 13:59:41 kycxtest121 postmaster[6103]: 2021-03-02 13:59:41.915 CST [6103] 提示: 后續的日志輸出將出現在目錄 "log"中. 3月 02 13:59:42 kycxtest121 systemd[1]: Started PostgreSQL 13 database server.
9、添加防火牆規則
# 添加防火牆規則
firewall-cmd --permanent --add-port=5432/tcp success firewall-cmd --reload # 驗證 iptables -nL Chain IN_public_allow (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW,UNTRACKED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NEW,UNTRACKED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5432 ctstate NEW,UNTRACKED
10、修改服務配置允許遠程鏈接 ps: 修改前需要停止數據庫服務
vi /var/lib/pgsql/13/data/postgresql.conf #將listen_addresses 修改為 * #並將端口設置打開
vi /var/lib/pgsql/13/data/pg_hba.conf #添加 0.0.0.0/0 trust
重啟服務
11、修改數據庫密碼
由於postgresql默認超級用戶為postgres,而且他的登陸認證為ident模式,需要對應的用戶名才能登陸數據庫,不過在安裝postgresql時,它已經幫我們新建了一個postgres用戶,我們只需要切換到postgres用戶,然后再登陸即可。
su - postgres #注意這里postgers 前后都有空格 # 以postgres 用戶進入系統 #登錄數據庫命令: psql -U postgres #會進入postgres用戶的控制台 #\l 查看有哪些數據庫 #\c postgresql 選擇postgresql 這個數據庫,會提示進入連接 #然后就可以用select 等語句查詢了 #修改數據庫密碼 ALTER USER postgres WITH PASSWORD 'postgres' ; #退出數據庫 \q