PostgreSQL常規用法

2021-08-22 20:26:37 字數 2853 閱讀 6147

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

oracle常規用法

顯示資料庫名 show parameterdb name 查詢併發數 select count from v session where status active username,osuser from v session sql id from v session where osuser l...

shell常規用法

bin bash 迴圈 for loop in 1 2 3 4 5 do echo the value is loop done 陣列 services servicea serviceb servicec serviced echo 表示陣列裡所有元素 for service in do echo...

Catch 常規用法

1.stackoverflowexception 一般來說這個不是真的堆疊不夠了,而是你的 出現了無線遞迴 如果你用throw new stackoverflowexception 還是可以catch的 2.outofmemoryexception 好像只有 box newarr newobj 才會...