PostgreSQL的實用程序:
(1)用戶實用程序:
createdb 創建一個新的PostgreSQL的數據庫(和SQL語句:CREATE DATABASE 相同)
createuser 創建一個新的PostgreSQL的用戶(和SQL語句:CREATE USER 相同)
dropdb 刪除數據庫
dropuser 刪除用戶
pg_dump 將PostgreSQL數據庫導出到一個腳本文件
pg_dumpall 將所有的PostgreSQL數據庫導出到一個腳本文件
pg_restore 從一個由pg_dump或pg_dumpall程序導出的腳本文件中恢復PostgreSQL數據庫
psql 一個基於命令行的PostgreSQL交互式客戶端程序
vacuumdb 清理和分析一個PostgreSQL數據庫,它是客戶端程序psql環境下SQL語句VACUUM的shell腳本封裝,二者功能完全相同
(2)系統實用程序
initdb 創建一個用於存儲數據庫的PostgreSQL數據目錄,並創建預定義的模板數據庫template0和template1,生成共享目錄表catalog;此程序通常只在安裝PostgreSQL時運行一次
initlocation 創建一個輔助的PostgreSQL數據庫存儲區域
ipcclean 從停止的PostgreSQL服務器中清除共享內在和孤立信號標誌
pg_ctl 啟動、停止、重啟PostgreSQL服務(比如:pg_ctl start 啟動PostgreSQL服務,它和service postgresql start相同)
pg_controldata 顯示PostgreSQL服務的內部控制信息
postgres PostgreSQL單用戶模式的數據庫服務
postmaster PostgreSQL多用戶模式的數據庫服務
4.這裡面最重要的是psql這個客戶端程序最為重要。啟用客戶端程序psql的方法是:
切換到PostgreSQL預定義的數據庫超級用戶postgres,啟用客戶端程序psql,並連接到自己想要的數據庫,比如說:
psql template1
出現以下界面,說明已經進入到想要的數據庫,可以進行想要的操作了。
template1=#
5.在數據庫中的一些命令:
template1=# \l 查看系統中現存的數據庫
template1=# \q 退出客戶端程序psql
template1=# \c 從一個數據庫中轉到另一個數據庫中,如template1=# \c sales 從template1轉到sales
template1=# \dt 查看表
template1=# \d 查看表結構
template1=# \di 查看索引
6.要注意隨時對數據庫進行清理、收回磁盤空間並更新統計信息,使用下面的命令就搞定!
vaccumdb -d sales -z
-a 對所有的數據庫操作
-z 保證不斷地刪除失效的行,節約磁盤空間,將統計信息更新為最近的狀態
7.PostgreSQL用戶認證
PostgreSQL數據目錄中的pg_hba.conf的作用就是用戶認證,可以在/var/lib/pgsql/data中找到。
有以下幾個例子可以看看:
(1)允許在本機上的任何身份連接任何數據庫
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all trust(無條件進行連接)
(2)允許IP地址為192.168.1.x的任何主機與數據庫sales連接
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
host sales all 192.168.1.0 255.255.255.0 ident sameuser(表明任何操作系統用戶都能夠以同名數據庫用戶進行連接)
8.看了那麼多,來一個完整的創建PostgreSQL數據庫用戶的示例吧
(1)進入PostgreSQL高級用戶
(2)啟用客戶端程序,並進入template1數據庫
psql template1
(3)創建用戶
template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen'
(4)因為設置了密碼,所以要編輯pg_hba.conf,使用戶和配置文件同步。
在原有記錄上面添加md5
local all hellen md5
(4)使用新用戶登錄數據庫
template1=# \q
psql -U hellen -d template1
PS:在一個數據庫中如果要切換用戶,要使用如下命令:
template1=# \!psql -U tk -d template1
9.設定用戶特定的權限
還是要用例子來說明:
創建一個用戶組:
sales=# CREATE GROUP sale;
添加幾個用戶進入該組
sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3;
授予用戶級sale針對錶employee和products的SELECT權限
sales=# GRANT SELECT ON employee,products TO GROUP sale;
在sale中將用戶user2刪除
sales=# ALTER GROP sale DROP USER sale2;
10.備份數據庫
可以使用pg_dump和pg_dumpall來完成。比如備份sales數據庫:
pg_dump sales>/home/tk/pgsql/backup/1.bak

轉載於 : http://www.chnlanker.com/postgresql/558.html

    全站熱搜

    黃彥霖 發表在 痞客邦 留言(0) 人氣()