一.安裝源
安裝源地址: https://yum.postgresql.org/repopackages.php
根據如下地址確定適用的版本https://yum.postgresql.org/findingdistro.php
[root@izm5e2q95pbpe1hh0kkwoiz ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@izm5e2q95pbpe1hh0kkwoiz ~]# uname -m
x86_64
找到合適的版本
]
這里我選擇centos7-x86 64 右鍵 復制鏈接。
在centos系統中執行
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
二.安裝PostgreSQL
先查看postgresql源
yum list | grep postgresql
我們需要安裝的是這兩個。postgresql12-contrib postgresql12-server
yum install postgresql12-contrib postgresql12-server -y
三.初始化數據庫
Postgresql安裝目錄是/usr/pgsql-12,而Postgresql的數據目錄是/var/lib/pgsql/版本號/data目錄
在這里,如果在裝系統開始分配var空間足夠大則可以繼續,如果分配var空間不夠,我們需要更改數據目錄,在這里,我們假設var空間足夠大。直接開始初始化。
# 運行命令
/usr/pgsql-12/bin/postgresql-12-setup initdb
[root@izm5e2q95pbpe1hh0kkwoiz bin]# cd /
[root@izm5e2q95pbpe1hh0kkwoiz /]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK
上面的Initializing database ... OK顯示初始化成功
四.啟動數據庫並設置開機啟動
sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12.service
[root@izm5e2q95pbpe1hh0kkwoiz bin]# systemctl start postgresql-12
[root@izm5e2q95pbpe1hh0kkwoiz bin]# systemctl enable postgresql-12.service
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-12.service to /usr/lib/systemd/system/postgresql-12.service.
五.登錄postgresql並設置密碼
postgresql在安裝時默認添加用戶postgres
輸入
[root@izm5e2q95pbpe1hh0kkwoiz bin]# su - postgres
上一次登錄:日 6月 14 16:05:25 CST 2020pts/0 上
-bash-4.2$ psql
psql (12.3)
Type "help" for help.
# 進入數據庫
postgres=#
我們來設置密碼:
# 模板
ALTER USER postgres WITH PASSWORD '密碼';
postgres=# alter user postgres with password '0000000';
ALTER ROLE
postgres=#
退出:
\q
備注其他:列出所有庫\l 列出所有用戶\du 列出庫下所有表\d
六默認情況下postgresql是不用密碼不支持遠程登錄的。
修改配置文件需要密碼登錄
# 配置文件地址
vi /var/lib/pgsql/12/data/pg_hba.conf
原來的配置文件
修改之后的配置文件
保存退出
配置可以遠程登錄
配置文件位置:
vi /var/lib/pgsql/12/data/postgresql.conf
配置文件原來的樣子
修改之后的樣子
重啟postgresql
# 配置需要密碼
[root@izm5e2q95pbpe1hh0kkwoiz /]# vim /var/lib/pgsql/12/data/pg_hba.conf
# 配置可以遠程登錄
[root@izm5e2q95pbpe1hh0kkwoiz /]# vim /var/lib/pgsql/12/data/postgresql.conf
# 重啟postgresql
[root@izm5e2q95pbpe1hh0kkwoiz /]# systemctl restart postgresql-12
七.登錄postgresql
[root@izm5e2q95pbpe1hh0kkwoiz /]# su - postgres
上一次登錄:日 6月 14 16:05:57 CST 2020pts/0 上
-bash-4.2$ psql
# 已經需要密碼登錄
Password for user postgres:
psql (12.3)
Type "help" for help.
postgres=#
八.遠程連接數據庫
九.我們測試創建數據庫及創建用戶
創建數據庫
CREATE DATABASE jeecg_boot;
創建用戶
CREATE USER leader CREATEDB LOGIN PASSWORD 'leader666';
將testdb所有權限賦予testuser用戶
GRANT ALL ON DATABASE jeecg_boot TO leader;
十.刪除數據庫及測試用戶
刪除數據庫
drop database jeecg_boot;
刪除用戶
drop role leader;