博客專欄

        EEPW首頁 > 博客 > PostgreSQL:psql 介紹

        PostgreSQL:psql 介紹

        發布人:天翼云開發者 時間:2023-03-20 來源:工程師 發布文章

        本文分享自天翼云開發者社區《PostgreSQL:psql 介紹》,作者: 周****平

        鏈接:

        https://www.ctyun.cn/developer/article/358337908486290?track=|cp:cz_bk|tgdy:wenzhang|ttjh:bokeshequ|key:bw302|pf:PC

         

        psql 作psql 命令是與 PostgreSQL 服務器交互的客戶端程序,要登錄到數據庫服務器,需要使用psql 客戶端工具或者第三方客戶端工具如PostgreSQL for Navicat,pgAdmin,Visualizer 等等。為 DBA 通常使用的與 PostgreSQL 交互的客戶端終端程序,因此,熟悉這個命令的用法可以幫助 DBA 快速的操作和維護數據庫。

        語法

        psql 的默認語法

        psql [OPTION]...[數據庫名稱 [用戶名]]

         

        說明

        shell 命令行輸入 psql,會直接進入數據庫,此時的數據庫默認用戶名是 postgres,默認的數據庫是 postgres。

        連接選項:

        -c, --command=COMMAND:執行單行命令。

        -d, --dbname=DBNAME:數據庫名稱(默認:“postgres”)

        -f, --file=FILENAME:從外部調用腳本文件

        -l, --list:列出可用的數據庫后退出。

        -v, --set=, --variable=NAME=VALUE:set psql 變量 NAME to VALUE(例如,-v >

        -V, --版本輸出版本信息,然后退出

        -X, --no-psqlrc 不讀取啟動文件 (~/.psqlrc)

        -1 (“one”), --single-transaction:作為單個事務執行(如果是非交互式的)

        輸入輸出選項:

        -a, --echo-all:將腳本中的所有輸入都輸出,包含 SQL 命令,存儲過程和默認的 psqlrc 文件中的命令。

        -b, --回聲錯誤回顯失敗命令

        -e, --echo-queries echo 命令發送到服務器

        -E, --echo-hidden:可以獲取元命令的SQL代碼

        -L, --log-file=FILENAME:發送會話日志到指定的文件。

        -n, --無讀線禁用增強的命令行編輯(讀線)

        -o, --output=FILENAME:和-L不同的是,該參數僅僅將當前登錄用戶的執行操作結果保存到指定的文件,并且不會顯示輸出到屏幕。

        -q, --quiet:以靜默方式運行,沒有額外信息顯示,只輸出查詢結果,一般結合 Aqt 一起使用。

        -s, --單步單步模式(確認每個查詢)

        -S, --single-line:: 單行模式,SQL 語句只能寫在一行,而不能換行,不加該參數,SQL 語句可換行。

        輸出格式選項

        -A, --no-align:不對齊輸出。

        --csv:以逗號分隔的表輸出模式。

        -F, --field-separator=STRING:域分隔符(默認:|)。

        -H, --html:以HTML表格輸出查詢結果。

        -P, --pset=VAR[=ARG] 將打印選項 VAR 設置為 ARG(請參見 \pset 命令)

        -R, --record-separator=STRING record separator for unigned output(默認值:換行符)

        -t, --tuples-only:僅輸出結果行。

        -T, --table-attr=TEXT 設置 HTML 表標簽屬性(例如,寬度、邊框)

        -x, --擴展打開擴展表輸出

        -z, --字段分隔符-零設置字段分隔符,用于將未對齊的輸出設置為零字節

        -0, --記錄分隔符 --零設置記錄分隔符,用于將未對齊的輸出轉換為零字節

        鏈接選項

        -h, --host=HOSTNAME:遠程數據庫服務器主機 ip 或 Unix 套接字目錄(默認:“local socket”)

        -p, --port=PORT:數據庫運行監聽端口(默認: “5432”)

        -U, --username=USERNAME:數據庫用戶名(默認: “postgres”)

        -w, --no-password:禁用密碼提示

        -W, --密碼強制密碼提示(應該自動發生)

        示例

        登錄數據庫

         

        元命令

        psql 中輸入的以反斜杠開頭的內容都是psql元命令,也叫做反斜杠命令。元命令由psql自身進行處理。

        元命令格式為反斜杠后跟參數,如\copy 命令即為元命令,語法格式為

         

        元命令和選項之間可以有一個或者多個空格隔開,如果可選參數中包含了空格,可以用單引號將其引起來,如果是轉義字符如: \ n(換行),\ t(制表符),\ b(退格鍵),\ r(回車),\ f(換頁),\ digits(八進制)和\ xdigits(十六進制)都可以使用單引號引起來。

        部分元命令以SQL標識符(如表名,函數,序列等)作為參數,這些參數需遵循SQL語法規則:不帶引號的字母將被強制小寫,雙引號之間的字母不進行大小寫轉換,并允許在標識符中包含空格。在雙引號中,成對的雙引號會當成單引號使用。

        psql 提供了豐富的元命令,如查看數據庫對象定義,數據庫對象空間大小,導入導出等元命令,以便于DBA或者開發人員能夠方便的管理和維護數據庫。

        通用

        \版權顯示 PostgreSQL 使用和分發條款

        \交叉表視圖 [列] 執行查詢并在交叉表中顯示結果

        \errverbose 以最大詳細程度顯示最新的錯誤消息

        \g [文件] 或 ;執行查詢(并將結果發送到文件或|管道)

        \gdesc 描述查詢的結果,而不執行它

        \gexec 執行查詢,然后執行其結果中的每個值

        \gset [PREFIX] 執行查詢并將結果存儲在 psql 變量中

        \gx [FILE] 作為 \g,但強制擴展輸出模式

        \q                     quit psql

        \watch [SEC] 每隔 SEC 秒執行一次查詢

        查詢緩沖區

        \ef [FUNCNAME [LINE]] 使用外部編輯器編輯函數定義

        \ev [視圖名稱 [行]] 使用外部編輯器編輯視圖定義

        \p 顯示查詢緩沖區的內容

        \r 重置(清除)查詢緩沖區

        \s [文件] 顯示歷史記錄或將其保存到文件

        \w 文件將查詢緩沖區寫入文件

        輸入/輸出

        \復制...使用數據流執行 SQL COPY 到客戶端主機

        \echo [字符串] 將字符串寫入標準輸出

        \i 文件從文件執行命令

        \ir FILE 作為 \i,但相對于當前腳本的位置

        \o [文件] 將所有查詢結果發送到文件或|管道

        \qecho [STRING] 將字符串寫入查詢輸出流(請參見 \o)

        有條件的

        \如果 EXPR 開始條件塊

        \elif EXPR 替代當前條件塊中

        \else 當前條件塊中的最終替代項

        \endif                 end conditional block

         

        信息查看

        \d[S+]:列出表、視圖、序列、或索引

        \d[S+] NAME 描述表、視圖、序列或索引

        \da[S] [模式] 列表聚合

        \dA[+] [模式] 列表訪問方法

        \db[+]  [PATTERN]:列出表空間信息

        \dc[S+] [模式] 列表轉換

        \dC[+] [模式] 列表轉換

        \dd[S] [模式] 顯示未在其他地方顯示的對象描述

        \dD[S+] [模式] 列表域

        \ddp [模式] 列出默認權限

        \dE[S+] [模式] 列出外來表

        \det[+] [PATTERN] 列出外來表

        \des[+] [PATTERN] 列出外部服務器

        \deu[+] [PATTERN] 列表用戶映射

        \dew[+] [PATTERN] 列出外來數據包裝器

        \df[anptw][S+] [PATRN] 列表 [僅 agg/normal/procedures/trigger/window] 函數

        \dF[+] [模式] 列出文本搜索配置

        \dFd[+] [模式] 列表文本搜索詞典

        \dFp[+] [PATTERN] 列表文本搜索解析器

        \dFt[+] [模式] 列表文本搜索模板

        \dg[S+] [模式] 列表角色

        \di[S+] [PATTERN]:查看索引占用空間大小

        \dl 列出與 \lo_list 相同的大型對象

        \dL[S+] [模式] 列出過程語言

        \dm[S+] [模式] 列出實例化視圖

        \dn[S+] [模式] 列表架構

        \do[S] [模式] 列表運算符

        \dO[S+] [模式] 列表排序規則

        \dp [PATTERN] 列出表、視圖和序列訪問權限

        \dP[itn+] [PATTERN] 列表 [僅索引/表] 分區關系 [n=嵌套]

        \drds [PATRN1 [PATRN2]] 列出每個數據庫的角色設置

        \dRp[+] [PATTERN] 列出復制發布

        \dRs[+] [模式] 列出復制訂閱

        \ds[S+] [模式] 列表序列

        \dt[S+] [PATTERN]:查看表占用空間大小

        \dT[S+] [模式] 列出數據類型

        \du[S+] [模式] 列表角色

        \dv[S+] [模式] 列表視圖

        \dx[+] [模式] 列表擴展

        \dy [模式] 列表事件觸發器

        \l[+] [模式] 列表數據庫

        \sf[+]  FUNCNAME:查看函數定義信息

        \sv[+]  VIEWNAME:列出視圖的定義信息

        \z [模式] 與 \dp 相同

        格式

        \在未對齊和對齊輸出模式之間切換

        \C [字符串] 設置表標題,如果沒有,則取消設置

        \f [字符串] 顯示或設置未對齊查詢輸出的字段分隔符

        \H 切換 HTML 輸出模式(當前關閉)

        \pset [NAME [VALUE]] 設置表輸出選項

        (邊框|列|csv_fieldsep|展開|字段|

        fieldsep_zero|頁腳|格式|線樣式|空|

        數字定位|頁|pager_min_lines|記錄|

        recordsep_zero|tableattr|title|tuples_only|

        unicode_border_linestyle|unicode_column_linestyle|

        unicode_header_linestyle)

        \t [開|關] 僅顯示行(當前關閉)

        \T [字符串] 設置 HTML <table> 標記屬性,如果沒有,則取消設置

        \x [on|off|auto]:可設置查詢結果輸出模式 (默認:off)

        鏈接

        \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}:連接到本地或遠程數據庫服務器

        \conninfo 顯示有關當前連接的信息

        \編碼 [編碼] 顯示或設置客戶端編碼

        \password [用戶名] 安全地更改用戶的密碼

        系統操作

        \cd [目錄] 更改當前工作目錄

        \setenv NAME [VALUE] 設置或取消設置環境變量

        \timing [on|off] 切換命令的計時(當前關閉)

        \![命令] 在 shell 中執行命令或啟動交互式 shell

        參數

        \prompt [TEXT] NAME 提示用戶設置內部變量

        \未設置名稱 未設置(刪除)內部變量

         

        大對象

        \lo_export 小葉文件

        \lo_import 文件 [注釋]

        \lo_list

        \lo_unlink LOBOID 大型對象操作

         

         

        來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/31490526/viewspace-2711967/,如需轉載,請注明出處,否則將追究法律責任。

         


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 數據庫 SQL

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孝义市| 额济纳旗| 和政县| 琼结县| 禄丰县| 辽宁省| 安丘市| 沧源| 海安县| 平塘县| 伊宁县| 杭锦后旗| 民县| 泽库县| 正宁县| 织金县| 囊谦县| 揭东县| 津市市| 辽中县| 富宁县| 清新县| 江西省| 葵青区| 阳西县| 武强县| 当阳市| 怀仁县| 洛浦县| 临海市| 锦屏县| 长乐市| 桃园市| 沧州市| 临颍县| 临沧市| 大城县| 石景山区| 双城市| 辽源市| 长春市|