PostgreSQL的實用程式

2021-05-01 13:51:40 字數 2965 閱讀 6411

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

演算法 實用程式片段

a b 是排除餘數僅保留商的運算 123 10 3 123 10 12 12 10 2 12 10 1 1 10 1 1 10 0 a 2 0 a 2 2 a常規的做法是對 2 取模,if x 2 0 使用位操縱 bit manipulation 的方法為,讓該數與 1 相與 if x 1 0 de...

matlab 實用程式片段

totnum 1000 batchsize 100 numbatch totnum batchsize numdim 12 testbatchdata zeros batchsize,numdim,numbatch 三維矩陣儲存全部的 batch 資訊 size testbatchdata 100,...

基本unix實用程式

more命令 more命令是先在終端上顯示一螢幕,最後一行相當於提示行,比如 more more 12 當顯示暫停後可以輸入一下命令來繼續操作,基本操作如下 1 空格 顯示下一屏 2 回車 顯示下一行 3 q 退出程式 4 pattern 搜尋指定模式的字串 5 繼續查詢指定模式的字串 6 h he...