PostgreSQL安裝與使用

1. 首先安裝PostgreSQL的rpm

sudo yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm -y

2. 然後再安裝PostgreSQL服務器和第三方擴展包

sudo yum install postgresql11 postgresql11-server postgressl11-contrlb -y

 

3. 創建數據庫目錄

sudo mkdir /home/postgresql_data

目錄分配權限

sudo chown postgres:postgres /home/postgresql_data

sudo chmod 750 /home/postgresql_data

 

設置環境變量

 

export PATH=/usr/pgsql-11/bin:$PATH

export LD_LIBRARY_PATH=/usr/pgsql-11/lib

export PGDATA=/home/postgresql_data

切換至postgres用戶,生成數據庫簇

initdb

啓動Postgresql服務

pg_ctl start -D $PGDATA

修改service文件  vi /usr/lib/systemd/system/postgresql-11.service 因爲在#Location of database direcotry配置節裏面沒有指定正確的PGDATA。所以我們需要將下面的PGDATA設置成正確

#Location of database directory
Environment=PGDATA=/home/postgresql_data

4. 啓動數據庫服務

sudo systemctl enable postgresql-11.service

sudo service postgresql-11 start

 

5. 檢查數據庫服務狀態

service postgresql-11 status

6. 修改postgres用戶密碼,切換到postgres用戶

sudo passwd postgres

su postgres

7. 然後使用psql工具登錄數據庫,列出當前的數據庫,命令分別是 psql 和 \l 

8. 下面需要先對服務配置文件postgresql.conf進行一些設置:

PostgreSQL的配置文件就在這個目錄下/var/lib/pgsql/版本號/data/postgresql.conf,還有一個配置文件也需要稍加關注,那就是訪問控制配置文件/var/lib/pgsql/版本號/data/pg_hba.conf

將 #listen_addresses = 'localhost' 前的#號去掉,然後將後面的localhost改爲*,然後將 #port = 5432 前的#去掉,最後再將 #password_encryption = on 前面的#號去掉,如下圖所示,使用wq命令保存退出。

9. 再對pg_hba.conf內容進行配置,將上面紅框內的ident改爲md5,然後再在最下面加入 host all all 0.0.0.0/0 md5 ,如下圖所示:

 

10. 重啓postgresql-9.5服務,使配置文件重效

service postgresql-11 restart

11. 接下來我們創建一個數據庫

psql

CREATE DATABASE testdb;

 

12.然後再創建一名用戶

CREATE USER username CREATEDB LOGIN PASSWORD '密碼';

如下圖所示,這樣我們就創建了一個名爲username的用戶,後面的 CREATEDB LOGIN PASSWORD '密碼' 意思是這個用戶可以創建數據庫,還可以登錄

 

Postgres=# CREATE USER username CREATEDB LOGIN PASSWORD '密碼';

CREATE ROULE;

13. 接下來將testdb的所有權限都分配給username 


GRANT ALL ON DATABASE testdb TO username;

 

14. 退出postgres用戶登錄,命令爲\q, 對,你沒看錯,就是一個反斜槓和一個q

15. 開啓防火牆5432端口

sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent

sudo firewall-cmd --reload

16. 嘗試用username登錄數據庫

psql -U username -h 127.0.0.1 -p 5432 -d testdb -W

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章