1. 程式人生 > >postgresql從入門到菜鳥(二)服務端配置和psql連線

postgresql從入門到菜鳥(二)服務端配置和psql連線

上一篇文章我們已經成功在rehel上安裝了postgrel資料庫。

關於window環境下的安裝,可以直接下載install檔案,進行雙擊安裝,或者通過編譯原始碼的方式安裝。

本篇文章將介紹postgresql資料的基本配置,以及客戶端與伺服器端的連線。

先看伺服器端

當我們通過 pg_start 命令啟動伺服器後,就可以在本機進行訪問了

訪問指令為

 

psql -h 127.0.0.1 -U postgres -p 5432

 

 

其中

-h 代表host 預設為本機。

-p 為埠號 預設為5432。

-U 代表訪問資料庫的使用者名稱。

 

關於-U有一點需要注意,postgres使用者為postgresql資料庫內建的超級使用者,而當我們在postgres系統使用者下使用psql命令登入而不使用-U命令的話,會預設以當前系統使用者名稱登入。在上一篇中新建的postgresql系統使用者並不是為了登入方便而是出於安全性考慮。
 

登入伺服器後可以通過\du,檢視資料庫使用者。內建預設postgres使用者。

 

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 

 

新建角色

 

CREATE ROLE name LOGIN;
CREATE USER name;


以上兩條命令其實是等價的,都是新建一個角色然後賦予登入許可權。新建後即可通過-U使用該角色登入。

 

 

建立資料庫(標準sql語言,資料庫建立完畢後可以通過\c進入和切換資料庫)

 

create database Smoondb;
\c Smoondb;

 

 

 

 

建立表(標準sql語言,這裡不再貼出)

 

score表
1 wang 數學 99
2 wang 語文 80
3 wang 物理 99
4 wang 化學 98
5 wang 英語 79
6 liu 數學 89
7 liu 語文 99
8 liu 物理 89
9 liu 化學 79
10 zan 數學 89
11 zan 語文 91
12 zan 物理 92
13 zan 化學 93
14 zan 英語 94
15 liu 英語 79

 

 


至此,伺服器端基本配置完畢,並且建立了測試表。若要實現客戶端與伺服器端的連線,則需要修改兩處配置檔案。

 

一個是$PGDATA(資料庫初始化目錄)目錄下 pg_hba.conf 檔案(該檔案主要功能為客戶端認證配置)

在此檔案中找到以下程式碼,並在後面追加第三行的程式碼XXX.XXX.XXX.XXX為客戶端的host

其中第一個all代表資料庫,第二個all代表使用者。

 

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

host all all XXX.XXX.XXX.XXX trust

 

另一個檔案為$PGDATA(資料庫初始化目錄)目錄下 postgresql.conf(該檔案為postgresql的配置檔案)

 

找到以下程式碼將 listen_addresses 的值由localhost改為*

# - Connection Settings -

listen_addresses = ' *'                 # what IP address(es) to listen on;

 

修改以上兩處之後,通過 pg_ctl restart 重啟伺服器,在客戶端安裝好postgresql後即可通過控制檯連線伺服器,以下為windows客戶端測試連線rehel伺服器端