亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > PostgreSQL > 正文

PostgreSQL教程(十八):客戶端命令(2)

2020-03-12 23:52:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了PostgreSQL教程(十八):客戶端命令(2),本文講解了pg_dump、pg_restore、psql、內(nèi)置命令應(yīng)用示例等內(nèi)容,需要的朋友可以參考下
 

七、pg_dump:

    pg_dump是一個(gè)用于備份PostgreSQL數(shù)據(jù)庫(kù)的工具。它甚至可以在數(shù)據(jù)庫(kù)正在并發(fā)使用時(shí)進(jìn)行完整一致的備份,而不會(huì)阻塞其它用戶對(duì)數(shù)據(jù)庫(kù)的訪問。該工具生成的轉(zhuǎn)儲(chǔ)格式可以分為兩種,腳本和歸檔文件。其中腳本格式是包含許多SQL命令的純文本格式,這些SQL命令可以用于重建該數(shù)據(jù)庫(kù)并將之恢復(fù)到生成此腳本時(shí)的狀態(tài),該操作需要使用psql來(lái)完成。至于歸檔格式,如果需要重建數(shù)據(jù)庫(kù)就必須和pg_restore工具一起使用。在重建過程中,可以對(duì)恢復(fù)的對(duì)象進(jìn)行選擇,甚至可以在恢復(fù)之前對(duì)需要恢復(fù)的條目進(jìn)行重新排序。該命令的使用方式如下:
 

復(fù)制代碼代碼如下:

    pg_dump [option...] [dbname]
 

    1. 命令行選項(xiàng)列表:

 

 

選項(xiàng) 說(shuō)明
-a(--data-only) 只輸出數(shù)據(jù),不輸出模式(數(shù)據(jù)對(duì)象的定義)。這個(gè)選項(xiàng)只是對(duì)純文本格式有意義。對(duì)于歸檔格式,你可以在調(diào)用pg_restore時(shí)指定選項(xiàng)。
-b(--blobs) 在dump中包含大對(duì)象。
-c(--clean) 在輸出創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的SQL命令之前,先輸出刪除該數(shù)據(jù)庫(kù)對(duì)象的SQL命令。這個(gè)選項(xiàng)只是對(duì)純文本格式有意義。對(duì)于歸檔格式,你可以在調(diào)用 pg_restore時(shí)指定選項(xiàng)。
-C(--create) 先輸出創(chuàng)建數(shù)據(jù)庫(kù)的命令,之后再重新連接新創(chuàng)建的數(shù)據(jù)庫(kù)。對(duì)于此種格式的腳本,在運(yùn)行之前是和哪個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接就不這么重要了。這個(gè)選項(xiàng)只是對(duì)純文本格式有意義。對(duì)于歸檔格式,你可以在調(diào)用pg_restore時(shí)指定選項(xiàng)。
-Eencoding 以指定的字符集創(chuàng)建該dump文件。
-ffile 輸出到指定文件,如果沒有該選項(xiàng),則輸出到標(biāo)準(zhǔn)輸出。
-Fformat

p(plain): 純文本格式的SQL腳本文件(缺省)。c(custom): 輸出適合于pg_restore的自定義歸檔格式。 這是最靈活的格式,它允許對(duì)裝載的數(shù)據(jù)和對(duì)象定義進(jìn)行重新排列。這個(gè)格式缺省的時(shí)候是壓縮的。t(tar): 輸出適合于pg_restore的tar歸檔文件。使用這個(gè)歸檔允許在恢復(fù)數(shù)據(jù)庫(kù)時(shí)重新排序和/或把數(shù)據(jù)庫(kù)對(duì)象排除在外。同i時(shí)也可能可以在恢復(fù)的時(shí)候限制對(duì)哪些數(shù)據(jù)進(jìn)行恢復(fù)。

-n schema 只轉(zhuǎn)儲(chǔ)schema的內(nèi)容。如果沒有聲明該選項(xiàng),目標(biāo)數(shù)據(jù)庫(kù)中的所有非系統(tǒng)模式都會(huì)被轉(zhuǎn)儲(chǔ)。該選項(xiàng)也可以被多次指定,以指定不同pattern的模式。
-Nschema 不轉(zhuǎn)儲(chǔ)匹配schema的內(nèi)容,其他規(guī)則和-n一致。
-o(--oids) 作為數(shù)據(jù)的一部分,為每個(gè)表都輸出對(duì)象標(biāo)識(shí)(OID)。
-O(--no-owner) 不輸出設(shè)置對(duì)象所有權(quán)的SQL命令。
-s(--schema-only) 只輸出對(duì)象定義(模式),不輸出數(shù)據(jù)。
-Susername 指定關(guān)閉觸發(fā)器時(shí)需要用到的超級(jí)用戶名。它只有在使用--disable-triggers的時(shí)候才有關(guān)系。
-ttable 只輸出表的數(shù)據(jù)。很可能在不同模式里面有多個(gè)同名表,如果這樣,那么所有匹配的表都將被轉(zhuǎn)儲(chǔ)。通過多次指定該參數(shù),可以一次轉(zhuǎn)儲(chǔ)多張表。這里還可以指定和psql一樣的pattern,以便匹配更多的表。(關(guān)于pattern,基本的使用方式是可以將它視為unix的通配符,即*表示任意字符,?表示任意單個(gè)字符,.(dot)表示schema和object之間的分隔符,如a*.b*,表示以a開頭的schema和以b開頭的數(shù)據(jù)庫(kù)對(duì)象。如果沒有.(dot),將只是表示數(shù)據(jù)庫(kù)對(duì)象。這里也可以使用基本的正則表達(dá)式,如[0-9]表示數(shù)字。)
-Ttable 排除指定的表,其他規(guī)則和-t選項(xiàng)一致。
-x(--no-privileges) 不導(dǎo)出訪問權(quán)限信息(grant/revoke命令)。
-Z0..9 聲明在那些支持壓縮的格式中使用的壓縮級(jí)別。 (目前只有自定義格式支持壓縮)
--column-inserts 導(dǎo)出數(shù)據(jù)用insert into table_name(columns_list) values(values_list)命令表示,這樣的操作相對(duì)其它操作而言是比較慢的,但是在特殊情況下,如數(shù)據(jù)表字段的位置有可能發(fā)生變化或有新的字段插入到原有字段列表的中間等。由于columns_list被明確指定,因此在導(dǎo)入時(shí)不會(huì)出現(xiàn)數(shù)據(jù)被導(dǎo)入到錯(cuò)誤字段的問題。
--inserts 導(dǎo)出的數(shù)據(jù)用insert命令表示,而不是copy命令。即便使用insert要比copy慢一些,但是對(duì)于今后導(dǎo)入到其他非PostgreSQL的數(shù)據(jù)庫(kù)是比較有意義的。
--no-tablespaces 不輸出設(shè)置表空間的命令,如果帶有這個(gè)選項(xiàng),所有的對(duì)象都將恢復(fù)到執(zhí)行pg_restore時(shí)的缺省表空間中。
--no-unlogged-table-data 對(duì)于不計(jì)入日志(unlogged)的數(shù)據(jù)表,不會(huì)導(dǎo)出它的數(shù)據(jù),至于是否導(dǎo)出其Schema信息,需要依賴其他的選項(xiàng)而定。
-h(--host=host) 指定PostgreSQL服務(wù)器的主機(jī)名。
-p(--port=port) 指定服務(wù)器的偵聽端口,如不指定,則為缺省的5432。
-U(--username=username) 本次操作的登錄用戶名,如果-O選項(xiàng)沒有指定,此數(shù)據(jù)庫(kù)的Owner將為該登錄用戶。
-w(--no-password) 如果當(dāng)前登錄用戶沒有密碼,可以指定該選項(xiàng)直接登錄。

 

2. 應(yīng)用示例:

復(fù)制代碼代碼如下:

    # -h: PostgreSQL服務(wù)器的主機(jī)為192.168.149.137。
    # -U: 登錄用戶為postgres。
    # -t: 導(dǎo)出表名以test開頭的數(shù)據(jù)表,如testtable。
    # -a: 僅僅導(dǎo)出數(shù)據(jù),不導(dǎo)出對(duì)象的schema信息。
    # -f: 輸出文件是當(dāng)前目錄下的my_dump.sql
    # mydatabase是此次操作的目標(biāo)數(shù)據(jù)庫(kù)。
    /> pg_dump -h 192.168.149.137 -U postgres -t test* -a -f ./my_dump.sql mydatabase
    #-c: 先輸出刪除數(shù)據(jù)庫(kù)對(duì)象的SQL命令,在輸出創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的SQL命令,這對(duì)于部署干凈的初始系統(tǒng)或是搭建測(cè)試環(huán)境都非常方便。
    /> pg_dump -h 192.168.220.136 -U postgres -c -f ./my_dump.sql mydatabase
    #導(dǎo)出mydatabase數(shù)據(jù)庫(kù)的信息。在通過psql命令導(dǎo)入時(shí)可以重新指定數(shù)據(jù)庫(kù),如:/> psql -d newdb -f my_dump.sql
    /> pg_dump -h 192.168.220.136 -U postgres -f ./my_dump.sql mydatabase
    #導(dǎo)出模式為my_schema和以test開頭的數(shù)據(jù)庫(kù)對(duì)象名,但是不包括my_schema.employee_log對(duì)象。
    /> pg_dump -t 'my_schema.test*' -T my_schema.employee_log mydatabase > my_dump.sql
    #導(dǎo)出east和west模式下的所有數(shù)據(jù)庫(kù)對(duì)象。下面兩個(gè)命令是等同的,只是后者使用了正則。
    /> pg_dump -n 'east' -n 'west' mydatabase -f my_dump.sql
    /> pg_dump -n '(east|west)' mydatabase -f my_dump.sql

 

八、pg_restore:


    pg_restore用于恢復(fù)pg_dump導(dǎo)出的任何非純文本格式的文件,它將數(shù)據(jù)庫(kù)重建成保存它時(shí)的狀態(tài)。對(duì)于歸檔格式的文件,pg_restore可以進(jìn)行有選擇的恢復(fù),甚至也可以在恢復(fù)前重新排列數(shù)據(jù)的順序。

    pg_restore可以在兩種模式下操作。如果指定數(shù)據(jù)庫(kù),歸檔將直接恢復(fù)到該數(shù)據(jù)庫(kù)。否則,必須先手工創(chuàng)建數(shù)據(jù)庫(kù),之后再通過pg_restore恢復(fù)數(shù)據(jù)到該新建的數(shù)據(jù)庫(kù)中。該命令的使用方式如下:
 

復(fù)制代碼代碼如下:

    pg_restore [option...] [filename]
 

    1. 命令行選項(xiàng)列表:

 

 

選項(xiàng) 說(shuō)明
filename 指定要恢復(fù)的備份文件,如果沒有聲明,則使用標(biāo)準(zhǔn)輸入。
-a(--data-only) 只恢復(fù)數(shù)據(jù),而不恢復(fù)表模式(數(shù)據(jù)對(duì)象定義)。
-c(--clean) 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象前先清理(刪除)它們。
-C(--create) 在恢復(fù)數(shù)據(jù)庫(kù)之前先創(chuàng)建它。(在使用該選項(xiàng)時(shí),數(shù)據(jù)庫(kù)名需要由-d選項(xiàng)指定,該選項(xiàng)只是執(zhí)行最基本的CREATE DATABASE命令。需要說(shuō)明的是,歸檔文件中所有的數(shù)據(jù)都將恢復(fù)到歸檔文件里指定的數(shù)據(jù)庫(kù)中)。
-ddbname 與數(shù)據(jù)庫(kù)dbname建立連接并且直接恢復(fù)數(shù)據(jù)到該數(shù)據(jù)庫(kù)中。
-e(--exit-on-error)

如果在向數(shù)據(jù)庫(kù)發(fā)送SQL命令的時(shí)候遇到錯(cuò)誤,則退出。缺省是繼續(xù)執(zhí)行并且在恢復(fù)結(jié)束時(shí)顯示一個(gè)錯(cuò)誤計(jì)數(shù)。

-Fformat 指定備份文件的格式。由于pg_restore會(huì)自動(dòng)判斷格式,因此指定格式并不是必須的。如果指定,它可以是以下格式之一:t(tar): 使用該格式允許在恢復(fù)數(shù)據(jù)庫(kù)時(shí)重新排序和/或把表模式信息排除出去,同時(shí)還可能在恢復(fù)時(shí)限制裝載的數(shù)據(jù)。 c(custom):該格式是來(lái)自pg_dump的自定義格式。這是最靈活的格式,因?yàn)樗试S重新對(duì)數(shù)據(jù)排序,也允許重載表模式信息,缺省情況下這個(gè)格式是壓縮的。
-I index 只恢復(fù)指定的索引。
-l(--list) 列出備份中的內(nèi)容,這個(gè)操作的輸出可以作為-L選項(xiàng)的輸入。注意,如果過濾選項(xiàng)-n或-t連同-l選項(xiàng)一起使用的話,他們也將限制列出的條目。
-L list-file 僅恢復(fù)在list-file中列出的條目,恢復(fù)的順序?yàn)楦鱾€(gè)條目在該文件中出現(xiàn)的順序,你也可以手工編輯該文件,并重新排列這些條目的位置,之后再進(jìn)行恢復(fù)操作,其中以分號(hào)(;)開頭的行為注釋行,注釋行不會(huì)被導(dǎo)入。
-n namespace 僅恢復(fù)指定模式(Schema)的數(shù)據(jù)庫(kù)對(duì)象。該選項(xiàng)可以和-t選項(xiàng)聯(lián)合使用,以恢復(fù)指定的數(shù)據(jù)對(duì)象。
-O(--no-owner) 不輸出設(shè)置對(duì)象所有權(quán)的SQL命令。
-Pfunction-name(argtype [, ...])  

只恢復(fù)指定的命名函數(shù)。該名稱應(yīng)該和轉(zhuǎn)儲(chǔ)的內(nèi)容列表中的完全一致。

-s(--schema-only) 只恢復(fù)表結(jié)構(gòu)(數(shù)據(jù)定義)。不恢復(fù)數(shù)據(jù),序列值將重置。
-Susername 指定關(guān)閉觸發(fā)器時(shí)需要用到的超級(jí)用戶名。它只有在使用--disable-triggers的時(shí)候才有關(guān)系。
-t table 只恢復(fù)指定表的Schema和/或數(shù)據(jù),該選項(xiàng)也可以連同-n選項(xiàng)指定模式。
-x(--no-privileges) 不恢復(fù)訪問權(quán)限信息(grant/revoke命令)。
-1(--single-transaction) 在一個(gè)單一事物中執(zhí)行恢復(fù)命令。這個(gè)選項(xiàng)隱含包括了--exit-on-error選項(xiàng)。
--no-tablespaces 不輸出設(shè)置表空間的命令,如果帶有這個(gè)選項(xiàng),所有的對(duì)象都將恢復(fù)到執(zhí)行pg_restore時(shí)的缺省表空間中。
--no-data-for-failed-tables 缺省情況下,即使創(chuàng)建表失敗了,如該表已經(jīng)存在,數(shù)據(jù)加載的操作也不會(huì)停止,這樣的結(jié)果就是很容易導(dǎo)致大量的重復(fù)數(shù)據(jù)被插入到該表中。如果帶有該選項(xiàng),那么一旦出現(xiàn)針對(duì)該表的任何錯(cuò)誤,對(duì)該數(shù)據(jù)表的加載將被忽略。
--role=rolename 以指定的角色名執(zhí)行restore的操作。通常而言,如果連接角色沒有足夠的權(quán)限用于本次恢復(fù)操作,那么就可以利用該選項(xiàng)在建立連接之后再切換到有足夠權(quán)限的角色。
-h(--host=host) 指定PostgreSQL服務(wù)器的主機(jī)名。
-p(--port=port) 指定服務(wù)器的偵聽端口,如不指定,則為缺省的5432。
-U(--username=username) 本次操作的登錄用戶名,如果-O選項(xiàng)沒有指定,此數(shù)據(jù)庫(kù)的Owner將為該登錄用戶。
-w(--no-password) 如果當(dāng)前登錄用戶沒有密碼,可以指定該選項(xiàng)直接登錄。

 

 2. 應(yīng)用示例:  
 

復(fù)制代碼代碼如下:

    #先通過createdb命令,以myuser用戶的身份登錄,創(chuàng)建帶恢復(fù)的數(shù)據(jù)newdb
    /> createdb -U myuser newdb
    #用pg_restore命令的-l選項(xiàng)導(dǎo)出my_dump.dat備份文件中導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象的明細(xì)列表。
    /> pg_restore -l my_dump.dat > db.list
    /> cat db.list
    2; 145344 TABLE species postgres
    4; 145359 TABLE nt_header postgres
    6; 145402 TABLE species_records postgres
    8; 145416 TABLE ss_old postgres
    10; 145433 TABLE map_resolutions postgres
    #將以上列表文件中的內(nèi)容修改為以下形式。
    #主要的修改是注釋掉編號(hào)為2、4和8的三個(gè)數(shù)據(jù)庫(kù)對(duì)象,同時(shí)編號(hào)10的對(duì)象放到該文件的頭部,這樣在基于該列表
    #文件導(dǎo)入時(shí),2、4和8等三個(gè)對(duì)象將不會(huì)被導(dǎo)入,在恢復(fù)的過程中將先導(dǎo)入編號(hào)為10的對(duì)象的數(shù)據(jù),再導(dǎo)入對(duì)象6的數(shù)據(jù)。
    /> cat new_db.list
    10; 145433 TABLE map_resolutions postgres
    ;2; 145344 TABLE species postgres
    ;4; 145359 TABLE nt_header postgres
    6; 145402 TABLE species_records postgres
    ;8; 145416 TABLE ss_old postgres    
    #恢復(fù)時(shí)指定的數(shù)據(jù)庫(kù)是newdb,導(dǎo)入哪些數(shù)據(jù)庫(kù)對(duì)象和導(dǎo)入順序?qū)?huì)按照new_db.list文件中提示的規(guī)則導(dǎo)入。
    /> pg_restore -d newdb -L new_db.list my_dump.dat

 

九、psql:

    PostgreSQL的交互終端,等同于Oracle中的sqlplus。
    1. 常用命令行選項(xiàng)列表:

 

選項(xiàng) 說(shuō)明
-c command 指定psql執(zhí)行一條SQL命令command(用雙引號(hào)括起),執(zhí)行后退出。
-d dbname 待連接的數(shù)據(jù)庫(kù)名稱。
-E   回顯由/d和其他反斜杠命令生成的實(shí)際查詢。
-f filename 使用filename文件中的數(shù)據(jù)作為命令輸入源,而不是交互式讀入查詢。在處理完文件后,psql結(jié)束并退出。
-h hostname 聲明正在運(yùn)行服務(wù)器的主機(jī)名
-l 列出所有可用的數(shù)據(jù)庫(kù),然后退出。
-L filename 除了正常的輸出源之外,把所有查詢記錄輸出到文件filename。
-o filename 將所有查詢重定向輸出到文件filename。
-p port 指定PostgreSQL服務(wù)器的監(jiān)聽端口。
-q --quiet 讓psql安靜地執(zhí)行所處理的任務(wù)。缺省時(shí)psql將輸出打印歡迎和許多其他信息。
-t --tuples-only 關(guān)閉打印列名稱和結(jié)果行計(jì)數(shù)腳注等信息。
-U username 以用戶username代替缺省用戶與數(shù)據(jù)庫(kù)建立連接。

 

 2. 應(yīng)用示例:  
 

復(fù)制代碼代碼如下:

    #先通過createdb命令,以myuser用戶的身份登錄,創(chuàng)建帶恢復(fù)的數(shù)據(jù)newdb
    /> createdb -U myuser newdb
    #用pg_restore命令的-l選項(xiàng)導(dǎo)出my_dump.dat備份文件中導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象的明細(xì)列表。
    /> pg_restore -l my_dump.dat > db.list
    /> cat db.list
    2; 145344 TABLE species postgres
    4; 145359 TABLE nt_header postgres
    6; 145402 TABLE species_records postgres
    8; 145416 TABLE ss_old postgres
    10; 145433 TABLE map_resolutions postgres
    #將以上列表文件中的內(nèi)容修改為以下形式。
    #主要的修改是注釋掉編號(hào)為2、4和8的三個(gè)數(shù)據(jù)庫(kù)對(duì)象,同時(shí)編號(hào)10的對(duì)象放到該文件的頭部,這樣在基于該列表
    #文件導(dǎo)入時(shí),2、4和8等三個(gè)對(duì)象將不會(huì)被導(dǎo)入,在恢復(fù)的過程中將先導(dǎo)入編號(hào)為10的對(duì)象的數(shù)據(jù),再導(dǎo)入對(duì)象6的數(shù)據(jù)。
    /> cat new_db.list
    10; 145433 TABLE map_resolutions postgres
    ;2; 145344 TABLE species postgres
    ;4; 145359 TABLE nt_header postgres
    6; 145402 TABLE species_records postgres
    ;8; 145416 TABLE ss_old postgres    
    #恢復(fù)時(shí)指定的數(shù)據(jù)庫(kù)是newdb,導(dǎo)入哪些數(shù)據(jù)庫(kù)對(duì)象和導(dǎo)入順序?qū)?huì)按照new_db.list文件中提示的規(guī)則導(dǎo)入。
    /> pg_restore -d newdb -L new_db.list my_dump.dat

 

    3. 內(nèi)置命令列表:
    psql內(nèi)置命令的格式為反斜杠后面緊跟一個(gè)命令動(dòng)詞,之后是任意參數(shù)。參數(shù)與命令動(dòng)詞以及其他參數(shù)之間可以用空白符隔開,如果參數(shù)里面包含空白符,該參數(shù)必須用單引號(hào)括起,如果參數(shù)內(nèi)包含單引號(hào),則需要用反斜杠進(jìn)行轉(zhuǎn)義,此外單引號(hào)內(nèi)的參數(shù)還支持類似C語(yǔ)言printf函數(shù)所支持的轉(zhuǎn)義關(guān)鍵字,如/t、/n等。

 

命令 說(shuō)明
/a 如果目前的表輸出格式是不對(duì)齊的,切換成對(duì)齊的。如果是對(duì)齊的,則切換成不對(duì)齊。
/cd [directory] 把當(dāng)前工作目錄切換到directory。沒有參數(shù)則切換到當(dāng)前用戶的主目錄。
/C [title]   為查詢結(jié)果添加表頭(title),如果沒有參數(shù)則取消當(dāng)前的表頭。
/c[dbname[username] ] 連接新的數(shù)據(jù)庫(kù),同時(shí)斷開當(dāng)前連接。如果dbname參數(shù)為-,表示仍然連接當(dāng)前數(shù)據(jù)庫(kù)。如果忽略u(píng)sername,則表示繼續(xù)使用當(dāng)前的用戶名。
/copy 其參數(shù)類似于SQL copy,功能則幾乎等同于SQL copy,一個(gè)重要的差別是該內(nèi)置命令可以將表的內(nèi)容導(dǎo)出到本地,或者是從本地導(dǎo)入到數(shù)據(jù)庫(kù)指定的表,而SQL copy則是將表中的數(shù)據(jù)導(dǎo)出到服務(wù)器的某個(gè)文件,或者是從服務(wù)器的文件導(dǎo)入到數(shù)據(jù)表。由此可見,SQL copy的效率要優(yōu)于該內(nèi)置命令。
/d [pattern] 顯示和pattern匹配的數(shù)據(jù)庫(kù)對(duì)象,如表、視圖、索引或者序列。顯示所有列,它們的類型,表空間(如果不是缺省的)和任何特殊屬性。
/db [pattern]   列出所有可用的表空間。如果聲明了pattern, 那么只顯示那些匹配模式的表空間。
/db+ [pattern]   和上一個(gè)命令相比,還會(huì)新增顯示每個(gè)表空間的權(quán)限信息。
/df [pattern]   列出所有可用函數(shù),以及它們的參數(shù)和返回的數(shù)據(jù)類型。如果聲明了pattern,那么只顯示匹配(正則表達(dá)式)的函數(shù)。
/df+ [pattern]   和上一個(gè)命令相比,還會(huì)新增顯示每個(gè)函數(shù)的附加信息,包括語(yǔ)言和描述。  
/distvS [pattern] 這不是一個(gè)單獨(dú)命令名稱:字母 i、s、t、v、S 分別代表索引(index)、序列(sequence)、表(table)、視圖(view)和系統(tǒng)表(system table)。你可以以任意順序聲明部分或者所有這些字母獲得這些對(duì)象的一個(gè)列表。
/dn [pattern]   列出所有可用模式。如果聲明了pattern,那么只列出匹配模式的模式名。
/dn+ [pattern] 和上一個(gè)命令相比,還會(huì)新增顯示每個(gè)對(duì)象的權(quán)限和注釋。
/dp [pattern] 生成一列可用的表和它們相關(guān)的權(quán)限。如果聲明了pattern, 那么只列出名字可以匹配模式的表。
/dT [pattern] 列出所有數(shù)據(jù)類型或只顯示那些匹配pattern的。
/du [pattern] 列出所有已配置用戶或者只列出那些匹配pattern的用戶。
/echotext [ ... ] 向標(biāo)準(zhǔn)輸出打印參數(shù),用一個(gè)空格分隔并且最后跟著一個(gè)新行。如:/echo `date`
/g[{filename ||command}] 把當(dāng)前的查詢結(jié)果緩沖區(qū)的內(nèi)容發(fā)送給服務(wù)器并且把查詢的輸出存儲(chǔ)到可選的filename或者把輸出定向到一個(gè)獨(dú)立的在執(zhí)行 command的Unix shell。
/ifilename 從文件filename中讀取并把其內(nèi)容當(dāng)作從鍵盤輸入的那樣執(zhí)行查詢。
/l 列出服務(wù)器上所有數(shù)據(jù)庫(kù)的名字和它們的所有者以及字符集編碼。
/o[{filename ||command}] 把后面的查詢結(jié)果保存到文件filename里或者把后面的查詢結(jié)果定向到一個(gè)獨(dú)立的shell command。
/p 打印當(dāng)前查詢緩沖區(qū)到標(biāo)準(zhǔn)輸出。
/q 退出psql程序。
/r 重置(清空)查詢緩沖區(qū)。
/s [filename] 將命令行歷史打印出或是存放到filename。如果省略filename,歷史將輸出到標(biāo)準(zhǔn)輸出。
/t   切換是否輸出列/字段名的信息頭和行記數(shù)腳注。
/w{filename ||command} 將當(dāng)前查詢緩沖區(qū)輸出到文件filename或者定向到Unix命令command。
/z [pattern] 生成一個(gè)帶有訪問權(quán)限列表的數(shù)據(jù)庫(kù)中所有表,視圖和序列的列表。如果給出任何pattern,則被當(dāng)成一個(gè)規(guī)則表達(dá)式,只顯示匹配的表,視圖和序列。
/! [command] 返回到一個(gè)獨(dú)立的Unix shell或者執(zhí)行Unix命令command。參數(shù)不會(huì)被進(jìn)一步解釋,shell將看到全部參數(shù)。

 

 4. 內(nèi)置命令應(yīng)用示例:

    在psql中,大部分的內(nèi)置命令都比較易于理解,因此這里只是給出幾個(gè)我個(gè)人認(rèn)為相對(duì)容易混淆的命令。
 

復(fù)制代碼代碼如下:

    # /c: 其中橫線(-)表示仍然連接當(dāng)前數(shù)據(jù)庫(kù),myuser是新的用戶名。
    postgres=# /c - myuser
    Password for user myuser:
    postgres=> SELECT user;
     current_user
    --------------
     myuser
    (1 row)
    # 執(zhí)行任意SQL語(yǔ)句。
    postgres=# SELECT * FROM testtable WHERE i = 2;
     i
    ---
     2
    (1 row)
    # /g 命令會(huì)將上一個(gè)SQL命令的結(jié)果輸出到指定文件。
    postgres=# /g my_file_for_command_g
    postgres=# /! cat my_file_for_command_g
     i
    ---
     2
    (1 row)
    # /g 命令會(huì)將上一個(gè)SQL命令的結(jié)果從管道輸出到指定的Shell命令,如cat。
    postgres=# /g | cat
     i
    ---
     2
    (1 row)
    # /p 打印上一個(gè)SQL命令。
    postgres=# /p
    SELECT * FROM testtable WHERE i = 2;
    # /w 將上一個(gè)SQL命令輸出到指定的文件。
    postgres=# /w my_file_for_option_w
    postgres=# /! cat my_file_for_option_w
    SELECT * FROM testtable WHERE i = 2;
    # /o 和/g相反,該命令會(huì)將后面psql命令的輸出結(jié)果輸出到指定的文件,直到遇到下一個(gè)獨(dú)立的/o,
    # 此后的命令結(jié)果將不再輸出到該文件。
    postgres=# /o my_file_for_option_o
    postgres=# SELECT * FROM testtable WHERE i = 1;
    # 終止后面的命令結(jié)果也輸出到my_file_for_option_o文件中。
    postgres=# /o
    postgres=# /! cat my_file_for_option_o
     i
    ---
     1
    (1 row)
 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
丝袜美腿高跟呻吟高潮一区| 久久成人av| 手机在线电影一区| 亚洲精品一区在线观看| 一级黄色大片免费| 亚洲色成人网站www永久四虎| 精品在线免费观看视频| 麻豆一区在线| 国产亚洲亚洲国产一二区| 欧美高清在线一区| 老牛嫩草一区二区三区日本| 一级黄色片国产| 米奇777在线欧美播放| 国产xxxxhd| 中文字幕久久久| 国产偷窥老熟盗摄视频| 成人看片在线| 粉嫩av亚洲一区二区图片| 成人在线高清视频| 人操人爱免费视频| 亚洲自拍欧美色图| 成人影院久久久久久影院| 91chinesevideo永久地址| 97久久超碰精品国产| 精品国产伦一区二区三区免费| 日本在线不卡视频| 濑亚美莉vs黑人在线观看| 久青草视频在线播放| 九色视频成人自拍| 国产精品视频久| 国产chinasex对白videos麻豆| 欧美激情二区三区| 天天干天天干天天干| 国产第一区电影| 最近中文字幕免费| 黄上黄在线观看| 在线能看的黄色| 视频一区二区视频| 成人免费一区二区三区视频| 人妻少妇精品久久| 日韩电影一区二区三区| 日韩伦理福利| 欧美五码在线| 亚洲欧美在线视频| 国产经典一区| 国产精品高清在线观看| 国内精品一区二区| 国产精品偷伦一区二区| 精品国内一区二区三区免费视频| 激情五月婷婷小说| 伊人久久大香线蕉综合热线| 综合国产在线视频| 日韩免费特黄一二三区| 无码国产精品一区二区高潮| 国产a∨精品一区二区三区不卡| 韩日精品一区| 99re热这里只有精品视频| 亚洲永久免费av| 午夜影院观看视频免费| 欧美色区777第一页| 精品日本一区二区三区在线观看| 亚洲人成在线观| 国产日产久久高清欧美一区| 91网址在线看| 亚洲第一成肉网| 国产寡妇色xxⅹ交肉视频| 日韩天堂在线观看| 欧美日产一区二区三区在线观看| 亚洲网站视频福利| 亚洲护士老师的毛茸茸最新章节| 婷婷成人激情在线网| 在线永久免费观看黄网站| 国产精品二区一区二区aⅴ污介绍| 精品国产av色一区二区深夜久久| 日韩在线观看免费高清| 欧美爱爱网站| 欧美男男freegayvideosroom| 午夜剧场高清版免费观看| 少妇高清精品毛片在线视频| 日本中文字幕有码| 成人免费毛片app| a篇片在线观看网站| 992tv国产精品成人影院| 国产无码精品一区二区| 综合色婷婷一区二区亚洲欧美国产| 中文日韩欧美| 中文字幕免费一区二区| 91精品一区二区三区久久久久久| 美女免费黄色| 精品黑人一区二区三区观看时间| www.-级毛片线天内射视视| 又污又黄的网站| 黄色资源在线看| 国产探花视频在线| 中文在线资源天堂| 一本一道久久综合狠狠老| 特级西西人体www高清大胆| 少妇一区二区三区四区| 亚洲图片小说网| 亚洲国产一区二区三区a毛片| 亚洲第一网站免费视频| 91美女在线观看| a级精品国产片在线观看| av成人手机在线| 午夜剧场成人观在线视频免费观看| 激情深爱一区二区| 亚洲欧洲激情在线| 日本精品一区| 天天综合天天综合| 国产a∨精品一区二区三区仙踪林| 2019中文字幕在线观看| 亚洲不卡av不卡一区二区| 日韩中文字幕观看| 91theporn国产在线观看| 一本色道**综合亚洲精品蜜桃冫| xf在线a精品一区二区视频网站| av成人动漫| 极品久久久久久| av影院在线| 国产精品视频网| 91在线看视频| 欧美大片网站| 91视频91自| 青青青国内视频在线观看软件| 国产伦精品一区二区三| 国产亚洲精品激情久久| 日韩av高清在线| 日本不卡一二三区| 久久精品夜夜夜夜夜久久| 激情综合色丁香一区二区| 91九色蝌蚪在线| 青青草原av在线| 欧美福利在线观看| 成年美女网站| 国产7777777| 国产精品91久久久久久| 欧美日韩国产免费| 最近2019免费中文字幕视频三| 欧美性猛交ⅹxxx乱大交免费| 欧美bbbbb| 精品国内片67194| 欧美色18zzzzxxxxx| 免费视频网站在线观看入口| 大胆日韩av| 激情五月激情综合网| 国产精品极品美女在线观看| 免费在线中文字幕| 老司机精品视频一区二区| 欧美freesex黑人又粗又大| 日本一区二区三区免费乱视频| 国内揄拍国内精品久久| 色狠狠久久av五月综合| 中文字幕黄色大片| 天天色天天色| 911精品美国片911久久久| 国产精品人人做人人爽人人添| 欧美久久精品午夜青青大伊人| 国产欧美精品在线播放| 国产成a人亚洲精| 91精品国产综合久久久久久豆腐| 色一情一乱一伦一区二区三区| 清纯唯美亚洲激情| 欧美成人三级视频网站| 少妇精品高潮欲妇又嫩中文字幕| 天天干天天舔天天射| 调教+趴+乳夹+国产+精品| 国产一区电影| 国产成人拍精品视频午夜网站| 伊人成综合网站| 97在线观看免费观看高清| 人人澡人一摸人人添| 国产sm精品调教视频网站| 三上悠亚在线一区二区| 中文字幕色网站| 欧美国产一区二区三区激情无套| 免费看又黄又无码的网站| 日韩片欧美片| 国产精品一区二区性色av| 国产精品久久久久一区二区三区厕所| 在线视频1区2区| 久久精品99无色码中文字幕| 欧美最顶级的aⅴ艳星| 在线观看三级视频| 91网在线看| 蝌蚪91视频| 日韩av不卡播放| 国产精品一区在线免费观看| 亚洲精品二三区| 国产精品扒开腿做爽爽爽a片唱戏| 日本综合字幕| 在线播放亚洲精品| 精品国产无码一区二区三区| www.日韩不卡电影av| 亚洲女性喷水在线观看一区| 久久在线视频| 99久久免费精品| 日韩午夜激情视频| 亚洲精品成人a在线观看| 亚洲欧美电影一区二区| 九九这里只精品视在线99| 天堂v在线观看| 337p日本| 在线三级中文| 成人精品影视| 嫩草影院入口一二三免费| a视频在线免费看| 日本精品一区二区三区在线观看视频| 91丨九色丨蝌蚪丨老板| 久久久久久毛片免费看| 欧美一级淫片丝袜脚交| 亚洲人成色777777精品音频| 91麻豆精品国产91久久久平台| 国产成免费视频| 欧美极品欧美精品欧美图片| 99国产超薄丝袜足j在线观看| 久做在线视频免费观看| 成人福利视频在线| 国产成人a亚洲精v品无码| 国产情侣自拍av| 日韩av理论片| 国产麻豆免费| 欧美日韩亚洲色图| 一级女性全黄久久生活片免费| 亚洲中文字幕在线一区| 欧美一区二区三区成人片在线| 婷婷五月综合缴情在线视频| 影音先锋5566资源网| 久久久久久久久久久av| 亚洲qvod图片区电影| 野花国产精品入口| 欧美理伦片在线播放| 亚洲国产精品电影在线观看| 毛片av免费在线观看| 亚洲精品在线免费播放| 老熟妇一区二区三区啪啪| 国产成人精品一区二区无码呦| 日韩激情一区二区| 亚洲电影激情视频网站| 成人欧美一区二区三区视频网页| 成人国产精品一区二区网站| 中文乱码字幕午夜无线观看| 蜜臀久久99精品久久久久久| 亚洲精品欧美综合四区| 99国产精品一区二区三区| 97在线观看视频国产| 国产精品亚洲综合久久小说| 免费在线观看a视频| 天天综合天天综合色| 亚洲男同gay网站| 99久久激情| 青青青在线观看视频| 成人满18在线观看网站免费| 亚洲高清av在线| 99视频精品免费| 韩国中文字幕hd久久精品| 国产精品日本精品| 成人短视频在线看| 国产一区二区不卡| 激情综合五月网| 美女黄a一级视频| 欧美日韩一区三区四区| 国产精品一区二区三区久久| 黄色福利在线观看| 五月综合激情网| 国产免费黄视频在线观看| 无码人妻丰满熟妇区五十路| 久久综合九色综合欧美98| 性中国古装videossex| 一区 二区 三区| 日本成人不卡| 欧美大学生性色视频| 欧美国产激情一区二区三区蜜月| 中文字幕亚洲视频| 深夜视频在线免费| 高清无码一区二区在线观看吞精| 一本色道久久亚洲综合精品蜜桃| 黄页网站大全一区二区| 五月天一区二区| 99视频超级精品| 国产一级一区二区| 天天做天天爱天天爽综合网| 欧美日韩精品一区二区三区蜜桃| 国产精品美女在线| 三级网站在线看| 丰满少妇在线观看网站| 天天摸天天碰天天添| 91精品国产91久久久久久久久| 成人看的羞羞网站| 欧美大片1688| 天堂av电影在线观看| 美女精品视频| 成人免费毛片app| 久久99精品久久久久| 久草在线中文888| 成人做爰视频www| 神马影院一区二区三区| 精品中文字幕一区| av影片免费在线观看| 那种视频在线观看| 狠狠色狠狠色综合婷婷tag| 最近中文字幕在线| 99久久久无码国产精品不卡| 免费做暖暖免费观看日本| 国内精品视频666| 亚洲欧美激情视频在线观看一区二区三区| 国产精品久久久久av福利动漫| 欧美男男青年gay1069videost| 美女国产一区二区三区| 免费观看黄色网| 四虎在线观看| 亚洲欧美一区二区三区孕妇| 香蕉成人影院| 欧美黄色激情| 最新电影电视剧在线观看免费观看| 日韩激情美女| 精品卡一卡卡2卡3网站| 99久久久久久久久久| 国产在线观看91精品一区| 色偷偷色偷偷色偷偷在线视频| gv天堂gv无码男同在线观看| 中文字幕亚洲欧美日韩在线不卡| 亚洲特级片在线| 欧美高清videos性极品| 国产一区二区三区四区五区加勒比| 19j韩国主播韩宝贝在线| 欧美午夜视频| 亚洲欧美精品中文第三| 亚洲国产欧美在线人成|