CentOS7安裝PostgreSQL12 + 完成本地訪問
檢查本機PostgresSQL並刪除
sudo su - //root
rpm -aq| grep postgres
yum remove postgresql*
yum update
檢查本機PostgresSQL的數據路徑有沒有文件
防止之后爆出Data directory is not empty!
rm -rf /var/lib/pgsql/12/data
PostgresSQL的安裝
- 安裝軟件包
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 安裝客戶端
yum install postgresql12
- 安裝服務端
yum install postgresql12-server
- 初始化
/usr/pgsql-12/bin/postgresql-12-setup initdb
這一步會自動創建/var/lib/pgsql/12/data文件夾
- 設置自動啟動並且啟動postgresql服務
systemctl enable postgresql-12
systemctl start postgresql-12
- 查看運行狀態
systemctl status postgresql-12
創建用戶和數據庫
- 使用postgres用戶登錄(PostgresSQL安裝后會自動創建postgres用戶,無密碼)
這個用戶是操作系統的用戶
su - postgres //as postgres user
- 創建用戶和數據庫並授權
create user test_user with password 'abc123'; // new user
create database test_db owner test_user; // new database
grant all privileges on database test_db to test_user; // grant
- 退出psql(輸入 \q 再按回車鍵即可)
\q
開啟遠程訪問
- 修改/var/lib/pgsql/12/data/postgresql.conf文件,取消 listen_addresses 的注釋,將參數值改為“*”
- 修改/var/lib/pgsql/12/data/pg_hba.conf文件,增加下圖紅框部分內容
- 切換到root用戶,重啟postgresql服務
systemctl restart postgresql-12.service
- 使用數據庫連接工具測試連接
其他
修改默認生成的 數據庫用戶postgres的密碼
su - postgres
psql -U postgres
alter user postgres with encrypted password '123123';
修改默認數據存放路徑
whoami
systemctl stop postgresql-12
systemctl status postgresql-12
ll /var/lib/postgresql/12/data
chown postgres:postgres pgdata
chmod 700 pgdata
rsync -av rsync -av /var/lib/pgsql/12/data pgdata/ //轉移數據文件
vim /var/lib/pgsql/12/data/postgresql.conf //修改文件路徑
whoami
systemctl start postgresql-12
systemctl status postgresql-12