PSQL
目录
PSQL
NAMESYNOPSIS
DESCRIPTION æè¿°
OPTIONS é项
EXIT STATUS éåºç¶æ
USAGE ç¨æ³
CONNECTING TO A DATABASE ä¸ä¸ä¸ªæ°æ®åºèæ¥
ENTERING SQL COMMANDS è¾å¥ SQL å½ä»¤
META-COMMANDS åå½ä»¤
ADVANCED FEATURES é«çº§ç¹æ§
VARIABLES åé
SQL INTERPOLATION 代æ¢
PROMPTING æç¤ºç¬¦
COMMAND-LINE EDITING å½ä»¤è¡ç¼è¾
ENVIRONMENT ç¯å¢
FILES
NOTES 注æ
EXAMPLES ä¾å
è¯è
è·
NAME
psql - PostgreSQL 交äºç»ç«¯
SYNOPSIS
psql [option...] [dbname [username]]
DESCRIPTION æè¿°
psql æ¯ä¸ä¸ªä»¥ç»ç«¯ä¸ºåºç¡ç PostgreSQL å端ãå®åè®¸ä½ äº¤äºå°é®å¥æ¥è¯¢ï¼æå®ä»¬ååºç» PostgreSQLï¼ ç¶åççæ¥è¯¢çç»æãå¦å¤ï¼è¾å¥å¯ä»¥æ¥èªä¸ä¸ªæä»¶ãè¿æï¼ å®æä¾äºä¸äºåå½ä»¤åå¤ç§ç±» shell å°ç¹æ§æ¥å®ç°ä¹¦åèæ¬ä»¥å对大éä»»å¡çèªå¨åã
OPTIONS é项
|
-a |
--echo-all
å¨è¯»åè¡æ¶åå±å¹æå°ææå容ã è¿ä¸ªé项å¨èæ¬å¤çæ¶æ¯äº¤äºæ¨¡å¼æ¶æ´æç¨ãè¿ä¸ªé项çæäºè®¾ç½®åé ECHO 为 allã
|
-A |
--no-align
åæ¢ä¸ºé对é½è¾åºæ¨¡å¼ãï¼ç¼ºçè¾åºæ¨¡å¼æ¯å¯¹é½çãï¼
-ccommand
--commandcommand
声æ psql å°æ§è¡ä¸æ¡æ¥è¯¢åä¸²ï¼ commandï¼ç¶åéåºãè¿ä¸ç¹å¨ shell èæ¬é徿ç¨ã command å¿é¡»æ¯ä¸æ¡å®å¨å¯ä»¥è¢«æå¡å¨åæçæ¥è¯¢å- 串ï¼ä¹å°±æ¯è¯´ï¼å®ä¸åå« psqlç¹æçç¹æ§ï¼ï¼ æèæ¯ä¸ä¸ªåææ å½ä»¤ãè¿æ ·ä½ å°±ä¸ä¼æ··å SQL å psql åå½ä»¤ãè¦æ³æ··å使ç¨ï¼ä½ å¯ä»¥æå串å®åå°psql éï¼è±¡è¿æ ·ï¼ echo "\x\ select * from foo;" | psqlã
妿å½ä»¤å串åå«å¤ä¸ª SQL å½ä»¤ï¼é£ä¹ä»ä»¬å¨ä¸ä¸ªäºå¡éå¤çï¼ é¤éå¨å串éåå«äºæç¡®ç BEGIN/COMMIT å½ä»¤æä»ä»¬åæå¤ä¸ªäºå¡ã è¿ä¸ªåä» psql çæ åè¾å¥éç»å®å¡«åç¸åå串ä¸åã
-ddbname
--dbnamedbname
å£°ææ³è¦èæ¥çæ°æ®åºåç§°ãçæäºå¨å½ä»¤è¡è¡ä¸æ dbname 声æä¸ºç¬¬ä¸ä¸ªéé项忰ã
|
-e |
--echo-queries
æ¾ç¤ºæç±åéç»æå¡å¨çæ¥è¯¢ã çæäºæåé ECHO 设置为 queriesã
|
-E |
--echo-hidden
åæ¾ç±\d åå¶ä»åææ å½ä»¤çæçå®éæ¥è¯¢ã å¦æä½ å¸æå¨ä½ èªå·±çç¨åºéåå«ç±»ä¼¼çåè½ï¼ ä½ å°±å¯ä»¥ä½¿ç¨è¿ä¸ªé项ãè¿çæäºå¨psqlé设置åéECHO_HIDDENã
-ffilename
--filefilename
ä½¿ç¨ filenameä½ä¸ºå½ä»¤çè¯å¥æºè䏿¯äº¤äºå¼è¯»å¥æ¥è¯¢ã å¨å¤ç宿件åï¼psql ç»æãè¿ä¸ªé项å¨å¾å¤æ¹é¢çæäºåé¨å½ä»¤\iã
妿filename æ¯- ï¼è¿å符ï¼ï¼å仿 åè¾å¥è¯»åã
使ç¨è¿ä¸ªé项ä¸ç¨ psql < filename æå¾®å°çåºå«ãé常ï¼ä¸¤èé½åæç§ä½ 颿飿 ·è¿è¡ï¼ä½æ¯ä½¿ç¨ -fæå¼äºä¸äºå¾å¥½çç¹æ§ï¼ æ¯å¦å¸¦è¡å·çé误信æ¯ãèä¸ï¼ä½¿ç¨è¿ä¸ªéé¡¹è¿æå¯è½æåå°å¯å¨è´è·çæºä¼ã å¦ä¸æ¹é¢ï¼å¦æä½ æææå容æå·¥è¾å¥ï¼ ä½¿ç¨ shell è¾å¥å®åçæ¹å¼ï¼ç论ä¸ï¼è½ä¿è¯çæåä½å·²ç»å¾å°çå®å¨ä¸æ·çè¾åºï¼è¯æ³¨ï¼éå¤è¿è¡å½ä»¤ï¼ã
-Fseparator
--field-separatorseparator
ä½¿ç¨ separator ä½ä¸ºååé符ãçæäº \pset fieldsep æ\fã
-hhostname
--hosthostname
å£°ææ£å¨è¿è¡æå¡å¨ç主æºåã 妿䏻æºå以ææå¼å¤´ï¼åå®è¢«ç¨åå° Unix å奿¥åçè·¯å¾ã
|
-H |
||
|
--html |
æå¼HTMLæ ¼å¼è¾åºãçæäº\pset format html æ\H å½ä»¤ã
|
-l |
||
|
--list |
ååºææå¯ç¨çæ°æ®åºï¼ç¶åéåºãå¶ä»éèæ¥é项å°è¢«å¿½ç¥ã类似äºåé¨å½ä»¤ \listã
-ofilename
--outputfilename
å°æææ¥è¯¢è¾åºå®åå°æä»¶ filenameãè¿ä¸ªé项çæäºå½ä»¤\oã
|
-pport |
--portport
声æè¢«æå¡å¨ä¾¦å¬ç TCP ç«¯å£æä½¿ç¨çç¼ºçæ¬å° Unix 主æ§å¥æ¥å- æä»¶å¥æã 缺ççæ¯ç¯å¢åéPGPORTçå¼ï¼å¦ææ²¡æè®¾ç½®çè¯æ¯ç¼è¯æ¯å£°æç端å£ï¼éå¸¸æ¯ 5432ã
-Passignment
--psetassignment
åè®¸ä½ å¨å½ä»¤è¡ä¸ä»¥\pset ç飿 ¼è®¾ç½®æå°é项ã è¦æ³¨æçæ¯ä½ å¨è¿éç¨çå·åå²åç§°åå¼ï¼èä¸è½ç¨ç©ºæ ¼ã å æ- ¤è¦æè¾åºæ ¼å¼è®¾ç½®ä¸º LaTeXï¼ä½ å¯ä»¥æ²å¥ -P format=latexã
|
-q |
--quiet
声æ psql å°å®éå°æ§è¡å¤çä»»å¡ã ç¼ºçæ¶psqlå°æå°æ¬¢è¿å许å¤å¶ä»è¾åºä¿¡æ¯ã å¦æä½¿ç¨äºæ- ¤é项ï¼è¿äºé½ä¸åºç°ãè¿å¨å -c é项ä¸èµ·ä½¿ç¨æ¶å¾ææãå¨ psql éï¼ä½ å¯ä»¥éè¿è®¾ç½® QUIET åéå®ç°åæ ·ææã
-Rseparator
--record-separatorseparator
ä½¿ç¨ separator å为记å½åé符ã çæäº\pset recordsep å½ä»¤ã
|
-s |
--single-step
è¿å¥åæ¥æ¨¡å¼è¿è¡ãæå³çæ¯ä¸ªæ¥è¯¢å¨å徿å¡å¨ä¹åé½è¦æç¤ºç¨æ·ï¼ ç¨è¿ä¸ªé项ä¹å¯ä»¥åæ¶æ§è¡ãæ¤é项主è¦ç¨äºè°è¯èæ¬ã
|
-S |
--single-line
è¿å¥åè¡è¿è¡æ¨¡å¼ï¼è¿æ¶æ¯ä¸ªå½ä»¤é½å°ç±æ¢è¡ç¬¦ç»æï¼è±¡åå·é£æ ·ã
Note: 注æ: 注æè¿ä¸ªæ¨¡å¼æ¯ç»é£äºåæè¦è¿ä¸ªç¹æ§ç人çï¼æä»¬ä¸é¼å±ä½ è¿ä¹ç¨ã å®éä¸ï¼å¦æä½ å¨ä¸è¡éæ··åä½¿ç¨ SQL ååå½ä»¤ï¼æ§è¡ç顺åºå¯¹ä¸çç»çç¨æ·èè¨ä¸æ»æ¯æ¸æ°çã
|
-t |
--tuples-only
å³éæå°ååç§°åç»æè¡è®¡æ°è注çä¿¡æ¯ãå®å¨çæäºåå½ä»¤\tã
-Ttable_options
--table-attrtable_options
åè®¸ä½ å£°ææ¾å¨ HTML table æ è®°éçé项ã åé\pset è·åç»èã
|
-u |
让 psql å¨åæ°æ®åºèæ¥ä¹æç¤ºè¾å¥ç¨æ·çç¨æ·ååå£ä»¤ã
è¿ä¸ªé项已ç»åºå¼äºï¼å 为å®å¨æ¦å¿µä¸ææ¼æ´ã ï¼æç¤ºè¾å¥é缺çç¨æ·ååæç¤ºè¾å¥æå¡å¨è¦æ±çå£ä»¤æ¯å®å¨ä¸¤çäºãï¼æä»¬é¼å±ä½ç¨ -U å -W é项å代ã
-Uusername
--usernameusername
ä»¥ç¨æ· username 代æ¿ç¼ºçç¨æ·ä¸æ°æ®åºèæ¥ãï¼å½ç¶ï¼ä½ å¿é¡»æè¿ä¹åçæéãï¼
-vassignment
--setassignment
--variableassignment
è¿è¡ä¸æ¬¡åéåéï¼è±¡åé¨å½ä»¤\set 飿 ·ã 注æï¼å¦ææåéååå¼çè¯ï¼ä½ å¿é¡»å¨å½ä»¤è¡ä¸ç¨ç- å·åéå®ä»¬ãè¦éç½®ä¸ä¸ªåéï¼ å»æç- å·ãè¿ä¸ªå鿝å¨å¯å¨ç徿©çé¶æ®µè¿è¡çï¼æä»¥ä¸ºåé¨ä½¿ç¨ä¿ççåéå¯è½è¢«å次è¦çã
|
-V |
--version
æ¾ç¤ºpsqlçæ¬ã
|
-W |
--password
è¦æ± psql å¨ä¸ä¸ä¸ªæ°æ®åºèæ¥åæç¤ºè¾å¥å£ä»¤ã è¿ä¸ªé项å°å¨æ´ä¸ªä¼è¯è¿ç¨ä¸ææï¼å³ä½¿ä½ ç¨åå½ä»¤ \connect æ¹åäºæèæ¥çæ°æ®åºã
å¨å½åçæ¬éï¼å¦ææå¡å¨è¦æ±å£ä»¤è®¤è¯ï¼psql èªå¨æåºä¸ä¸ªå£ä»¤æç¤ºç¬¦ãå ä¸ºç® åè¿ä¸ªç¹æ§æ¯ä»¥ä¸ä¸ª“hack”为åºç¡ï¼ èªå¨è¯å«æå¯è½å¥æªå°å¤±æï¼å æ¤ç¨è¿ä¸ªé项 强å¶ä¸ä¸ªæç¤ºç¬¦ã å¦ææ²¡æå£°æå£ä»¤æç¤ºç¬¦èæå¡å¨è¦æ±å£ä»¤è®¤è¯ï¼é£ä¹èæ¥ä¼å¾ å°å¤±è´¥ã
|
-x |
--expanded
æå¼æ©å±è¡¨æ ¼å¼æ¨¡å¼ãçæäº\xã
|
-X, |
--no-psqlrc
ä¸è¯»åå¯å¨æä»¶ ˜/.psqlrcã
|
-? |
||
|
--help |
æ¾ç¤ºå³äºpsqlå½ä»¤è¡åæ°ç帮å©ã
EXIT STATUS éåºç¶æ
妿æ£å¸¸ç»æï¼é£ä¹psql å shell è¿å 0ï¼å¦æèªèº«åçè´å½é误ï¼åè¿å 1ï¼åå- ç¨å°½ï¼æªæ¾å°æä»¶çï¼ï¼ 妿忰æ®åºçè¿æ¥å¤±æèä¸ä¼è¯ä¸åæ´»è·åè¿å 2ï¼å¦æèæ¬ä¸åçé误并ä¸è®¾ç½®äº ON_ERROR_STOP åè¿å 3ã
USAGE ç¨æ³
CONNECTING TO A DATABASE ä¸ä¸ä¸ªæ°æ®åºèæ¥
psql æ¯ä¸ä¸ªæ®éç PostgreSQL 客æ·ç«¯åºç¨ã为äºä¸ä¸ä¸ªæ°æ®åºèæ¥ï¼ä½ éè¦ç¥éä½ çç®æ æ°æ®åºï¼ æå¡å¨ç主æºåå端å£å·ä»¥åä½ å¸æä»¥åªä¸ªç¨æ·ç身份è¿è¡èæ¥çä¿¡æ¯ã æä»¬å¯ä»¥éè¿å½ä»¤è¡åæ°åè¯ psql è¿äºä¿¡æ¯ï¼å嫿¯ -dï¼ -hï¼-pï¼å -Uã 妿æä¸ªåæ°ä¸å±äºä»»ä½é项å¼å³ï¼é£ä¹å®ä¼è¢«è§£éææ°æ®åºåï¼æèæ¯ç¨æ·åï¼å¦ææ°æ®åºåç§°ä¹ç»åºäºãï¼ã 䏿¯ææè¿äºé项齿¯å¿é¡»çï¼ç¼ºççä¹å¯ä»¥ãå¦æä½ çç¥ä¸»æºåï¼ psql å°éè¿ Unix å奿¥å䏿¬å°ä¸»æºçæå¡å¨ç¸èã 缺çç端å£å·æ¯ç¼è¯æ¶ç¡®å®çãå ä¸ºæ°æ®åºæå¡å¨ä½¿ç¨åæ ·ç缺çå¼ï¼ æä»¥å¨å¤§å¤æ°è®¾ç½®ä¸ï¼ä½ å¯è½ä¸éè¦å£°æç«¯å£å·ã缺ççç¨æ·åæ¯ä½ ç Unix ç¨æ·åï¼ä¸æ°æ®åºååã è¦æ³¨æçæ¯ä½ä¸è½ç¨ä»»æç¨æ·åä¸ä»»ä½æ°æ®åºç¸èãä½çæ°æ®åºç®¡çååºè¯¥åè¯ä½ä½çè®¿é®æéã ä½ å¯ä»¥éè¿è®¾ç½®å 个ç¯å¢åé PGDATABASEï¼ PGHOSTï¼PGPORT å PGUSER 为对åºçå¼çæ¹æ³èçº¦å æ¬¡æ²å»ã
妿å 为任ä½åå èæ æ³ä¸æ°æ®åºç¸èï¼ä¾å¦ï¼æéä¸å¤ï¼æå¡å¨æ²¡æè¿è¡çï¼ï¼ psql å°è¿åä¸ä¸ªé误并éåºã
ENTERING SQL COMMANDS è¾å¥ SQL å½ä»¤
é常ç¶åµä¸ï¼psql æä¾ä¸ä¸ªå¸¦æ psql æ£å¨ä¸ä¹èæ¥çæ¥æ°æ®åºåçï¼åç¼ =>çæç¤ºç¬¦ãä¾å¦ï¼
$psql
testdb
Welcome to psql 7.4beta5, the PostgreSQL interactive
terminal.
Type: \copyright
for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
testdb=>
ç¨æ·å¯ä»¥å¨è¿ä¸ªæç¤ºç¬¦ä¸é®å¥SQL æ¥è¯¢ã é常ï¼è¾å¥çè¡å°å¨å½ä»¤ç»æ- ¢åå·åºç°æ¶éå°æå¡å¨ã ä¸è¡çç»æ¢å¹¶ä¸ç»æå½ä»¤ï¼å æ- ¤å½ä»¤å¯ä»¥å æ¸æ°èµ·è§è·¨è¶å¥½å è¡ã妿å½ä»¤åéåºå»è䏿²¡æéè¯¯ï¼ å½ä»¤ç»æä¼æ¾ç¤ºå¨å±å¹ä¸ã
å½å½ä»¤æ£å¨è¿è¡æ¶ï¼psql åæ ·è¿è½®è¯¢ç± LISTEN [listen(7)] å NOTIFY [notify(7)] çæç弿¥éç¥ä¿¡å·ã
META-COMMANDS åå½ä»¤
ä½ å¨ psql éè¾å¥çä»»ä½ä»¥ä¸å¸¦å¼å·çåææ ï¼’\’ï¼å¼å¤´çä¸è¥¿é½æ¯ psql åå½ä»¤ï¼è¿äºå½ä»¤æ¯ç± psql èªå·±å¤ççãè¿äºå½ä»¤ä¹æ¯ä»¤ psql å¯ç¨äºç®¡çæä¹¦åèæ¬çåå ã åå½ä»¤æ´å¸¸è§ç嫿³æ¯ææ æåææ å½ä»¤ã
ä¸ä¸ª psql å½ä»¤çæ ¼å¼æ¯åææ åé¢ç´§è·ä¸ä¸ªå½ä»¤å¨è¯ï¼ç¶åæ¯ä»»æåæ°ã åæ°ä¸å½ä»¤å¨è¯åå¶ä»åæ°ä»¥ä»»æä¸ªç©ºç½å符é´éã
è¦å¨åæ°éé¢åå«ç©ºç½ï¼ä½ å¿é¡»ç¨åå¼å·æå®åå´èµ·æ¥ã è¦å¨è¿æ ·çåæ°éåå«åå¼å·ï¼åé¢å ä¸ä¸ªåææ ã ä»»ä½åå«å¨åå¼å·éçä¸è¥¿ä¼è¢«è¿ä¸æ¥è¿è¡ç±» C çæ¿æ¢ï¼æ \n (new line),\t (tab), \digits, \0digits, å \0xdigits ï¼ç»åºçåè¿å¶ï¼å«è¿å¶ï¼æåå- è¿å¶ç çåç¬¦ï¼æ¿æ¢æã
妿ä¸ä¸ªä¸å¸¦å¼å·ç忰以åå·ï¼:ï¼å¼å¤´ï¼ å®ä¼è¢«å½ä½ä¸ä¸ªpsql åéï¼å¹¶ä¸è¯¥åéçå¼ä¼æç»æä¸ºçæ£çåæ°å¼ã ï¼è¯æ³¨ï¼ç±»ä¼¼ ecpg å pl/pgsql çåéç¨æ³ãï¼
ç¨åå¼å· ï¼"backticks" ‘ï¼ åå´çå容被å½ä½ä¸ä¸ªå½ä»¤è¡ä¼ å¥ shellã 该å½ä»¤çè¾åºï¼å é¤äºç»å°¾çæ°è¡ï¼è¢«å½ä½åæ°å¼ãä¸é¢æè¿°çéé¸ï¼å- 符ï¼åºåå¨åå¼å·éä¹çæã
æäºå½ä»¤ä»¥ä¸ä¸ª SQL æ è¯çåç§°ï¼å¦ï¼ä¸ä¸ªè¡¨åï¼ä¸ºåæ°ã è¿äºåæ°éµå¾ª SQL è¯æ³å³äºåå¼å·çè§åï¼ ä¸å¸¦åå¼å·çæ è¯å¼ºå¶æå°åï¼ èåå¼å·ä¿æ¤å- æ¯ä¸å大å°å转æ¢ï¼å¹¶ä¸åè®¸å¨æ è¯ç¬¦ä¸ä½¿ç¨ç©ºç½ã å¨åå¼å·ä¸- ï¼æå¯¹çåå¼å·å¨ç»æååä¸åææä¸ä¸ªåå¼å·ãæ¯å¦ï¼ FOO"BAR"BAZ è§£ææ fooBARbazï¼è "A weird"" name" åæ A weird" nameã name.
坹忰çåæå¨ç¢°å°å¦ä¸ä¸ªä¸å¸¦å¼å·çåææ æ¶åæ¢ã è¿éä¼è®¤ä¸ºæ¯ä¸ä¸ªæ°çåå½ä»¤çå¼å§ãç¹æ®åºå \\ ï¼ååææ ï¼æ è¯åæ°çç»å°¾å¹¶å°ç»§ç»åæåé¢ç SQL å½ä»¤ï¼å¦æåå¨çè¯ï¼ãè¿æ · SQL å psqlå½ä»¤å¯ä»¥èªç±çå¨ä¸è¡é颿··åã 使¯å¨ä»»ä½æåµä¸ï¼ä¸æ¡åå½ä»¤çåæ°ä¸è½å»¶ç»è¶è¿è¡å°¾ã
ä¸ååå½ä»¤æ¯å·²å®ä¹çï¼
|
\a |
妿ç®åç表è¾åºæ ¼å¼æ¯ä¸å¯¹é½çï¼åæ¢æå¯¹é½çã 妿æ¯å¯¹é½çï¼åæ¢æä¸å¯¹é½ãè¿æ¡å½ä»¤æ¯ä¸ºäºååå¼å®¹ãåé\pset è·åä¸ä¸ªéç¨çè§£å³æ¹æ³ã
\cd [directory]
æå½åå·¥ä½ç®å½æ¹åå° directoryã æ²¡æåæ°æ¯åæ¹åå°å½åç¨æ·çå®¶ç®å½ã
Tip: æç¤º: è¦æå°åºä½ çå½åå·¥ä½ç®å½ï¼ä½¿ç¨\!pwd.
\C [title ]
ææ£å¨æå°çè¡¨çæ é¢è®¾ç½®ä¸ºä¸ä¸ªæ¥è¯¢çç»ææèåæ¶è¿æ ·ç设置ã è¿æ¡å½ä»¤çæäº \pset titletitle. ï¼è¿æ¡å½ä»¤çåç§°æºäº "caption"ï¼å 为以ååªæ¯ç¨äºå¨ä¸ä¸ª HTML 表éé¢è®¾ç½®æ é¢ãï¼
\connect (or\c) [dbname [username ] ]
ä¸ä¸ä¸ªæ°çæ°æ®åºå»ºç«ä¸ä¸ªèæ¥ï¼ä½¿ç¨/ä¸ç¨ä¸ä¸ªç¨æ·åã åé¢çèæ¥å°å³éã妿 dbname æ¯ -ï¼é£ä¹å°±å设æ¯å½åæ°æ®åºåç§°ã
妿çç¥ usernameï¼åå设æ¯å½åç¨æ·åã
ä½ä¸ºä¸æ¡ç¹æ®è§åï¼ä¸å¸¦ä»»ä½åæ°è¿è¡\connect å°ä»¥ç¼ºçç¨æ·èº«ä»½ä¸ç¼ºçæ°æ®åºè¿æ¥ï¼æ£å¦ä½ ä¸å¸¦ä»»ä½åæ°è¿è¡ psql 䏿 ·ãï¼
å¦æèæ¥å¤±è´¥ï¼ç¨æ·åéï¼è®¿é®æç»çï¼ï¼é£ä¹å°ä¿çåé¢çèæ¥--å½ä¸ä»å½å¨ psql å¤äºäº¤äºæ¨¡å¼ä¸å¦æ¤ã 妿è¿è¡çæ¯é交äºçèæ¬ï¼å¤çä¼é©¬ä¸åæ- ¢ï¼å¹¶è¿åä¸ä¸ªé误ã éæ©è¿æ·çåºå«æ¯ä¸æ¹é¢ä¸ºç¨æ·ä½¿ç¨æ¹ä¾¿èèï¼å¦ä¸æ¹é¢ä¸ºä¿è¯èæ¬ä¸ä¼ç¢°å·§æä½äºéè¯¯çæ°æ®åºçå®å¨æºå¶èèçã
\copytable
æ§è¡å端ï¼å®¢æ·ç«¯ï¼æ·è´ãè¿æ¯ä¸ä¸ªè¿è¡ SQL COPY å½ä»¤çæä½ï¼ ä¸åçæ¯ SQL COPY æ¯æå¡å¨å¨è¯»åææçæä»¶ï¼è psql 读åæä»¶å¹¶ä½ä¸ºæ¬å°çæä»¶ç³»ç»åæå¡å¨ä¹é´çè·¯ç±ååºæå奿°æ®ã è¿æå³çæä»¶è®¿é®æ§åæé齿¯æ¬å°ç¨æ·çï¼è䏿¯æå¡å¨çï¼å æ¤ä¸éè¦ SQL è¶çº§ç¨æ·æéã
è¿æ¡å½ä»¤çè¯æ³æ¯æ¨¡æ SQL COPY å½ä»¤çãï¼åèå®çæè¿°è·åç»èãï¼ è¦æ³¨æçæ¯ç±æ¤èæ¥ï¼æä¸äºç¹æ®çåæè§ååºç¨äº\copy å½ä»¤ã 尤嶿¯åéæ¿æ¢è§åååææ 代æ¢è§åä¸èµ·ä½ç¨ã
Tip: æç¤º: æ¤æä½ä¸è±¡ SQL COPY å½ä»¤è¿æ ·é«æï¼ åä¸ºæææ°æ®å¿é¡»éè¿å®¢æ·ç«¯/æå¡å¨èæ¥ã对äºå¤§æ°æ®éçæä½ï¼å¦ä¸ç§æ¹æ³æ´å¯è¡ã
Note: 注æ: 注æå¨å®¢æ·ç«¯åæå¡å¨æ·è´æ¶å¯¹ stdin å stdout çè§£éçåºå«ï¼å¨å端æ·è´æ¶ï¼è¿äºæ»æ¯æ psqlçè¾å¥åè¾åºæµã卿å¡å¨æ·è´æ¶ stdin æ¥èª COPY æ¬èº«çæ åè¾å¥ï¼æ¯å¦ï¼ä¸ä¸ªå¸¦æ -f é项çèæ¬ï¼ï¼ è stdout æçæ¯æ¥è¯¢è¾åºæµï¼åéä¸é¢ç\o åå½ä»¤ï¼ã
\copyright
æ¾ç¤º PostgreSQL ççæåçæ¬ä¿¡æ¯ã
\d [pattern ]
å¯¹äºæ¯ä¸ªå¹épatternçå³ç³»ï¼è¡¨ï¼è§å¾ï¼ç´¢å¼æèåºåï¼ï¼ æ¾ç¤ºææåï¼å®ä»¬çç±»åï¼åä»»ä½ç¹æ®å±æ§ï¼è±¡NOT NULLæç¼ºçç- ï¼ï¼åªè¦åå¨ã 妿å®éä¸è¿ä¸ªå³ç³»æ¯ä¸ä¸ªè¡¨ï¼ä»»ä½å·²å®ä¹çç´¢å¼ï¼ä¸»é®ï¼å¯ä¸çº¦æç¸å³çç´¢å¼ï¼è§åï¼çº¦æï¼å触åå¨ä¹åæ·æ¾ç¤ºåºæ¥ï¼ 妿å³ç³»æ¯ä¸ä¸ªè§å¾ï¼è¿æ¾ç¤ºè§å¾çå®ä¹ã ï¼"å¹é模å¼"å¨ä¸é¢å®ä¹ãï¼
ä»\d+ æ¥çå½ä»¤ä¹æ¯ä¸æ ·çï¼åªä¸è¿è¿æ¾ç¤ºä¸è¡¨çåå³èçæ³¨è§£ã
Note: 注æ: 妿妿ä¸å¸¦ä»»ä½patternè°ç¨\d ï¼ ç- æäº\dtvsï¼å°æ¾ç¤ºä¸ä¸ªææè¡¨ï¼è§å¾ååºåçå表ã è¿å®å¨æ¯åºäºæ¹ä¾¿çèèã
\da [pattern ]
ååºææå¯ç¨èé彿°ï¼ä»¥åå®ä»¬æä½çæ°æ®ç±»åã妿声æäº patternï¼é£ä¹åªæ¾ç¤ºå¹éï¼æ£å表达å¼ï¼çèé彿°ã
\dc [pattern ]
ååºææå符éä¹é´çå¯ç¨è½¬æ¢ã妿声æäº patternï¼ ååªååºé£äºå¹é模å¼ç转æ¢ã
|
\dC |
ååºææç±»å转æ¢ã
\dd [pattern ]
æ¾ç¤ºææå¹é pattern çæè¿°ï¼å¦ææ²¡æç»åºåæ°ï¼æ¾ç¤ºææå¯è§å¯¹è±¡ã 使¯ä¸ç®¡ææ ·ï¼åªæé£äºææè¿°å容çå¯¹è±¡ææ¾ç¤ºåºæ¥ã ï¼"对象"忬èéï¼å½æ°ï¼æä½ç¬¦ï¼ç±»åï¼ å³ç³»ï¼è¡¨ï¼è§å¾ï¼ç´¢å¼ï¼åºåï¼å¤§å¯¹è±¡ï¼ï¼è§åå触åå¨ãï¼ä¾å¦ï¼
=>\dd
version
Object descriptions
Schema | Name | Object | Description
------------+---------+----------+---------------------------
pg_catalog | version | function | PostgreSQL version string
(1 row)
å¯ä»¥ç¨COMMENT SQL å½ä»¤çæå¯¹å¯¹è±¡çæè¿°ã
\dD [pattern ]
ååºææå¯ç¨åã妿声æäº patternï¼é£ä¹åªæ¾ç¤ºå¹éçåã
\df [pattern ]
ååºææå¯ç¨å½æ°ï¼ä»¥åå®ä»¬çåæ°åè¿åçæ°æ®ç±»åã妿声æäº patternï¼é£ä¹åªæ¾ç¤ºå¹éï¼æ£å表达å¼ï¼ç彿°ãå¦æä½¿ç¨äº\df+ çå½¢å¼ï¼æ¯ä¸ªå½æ°çéå ä¿¡æ¯ï¼åæ¬è¯è¨åæè¿°ä¹ä¼æ¾ç¤ºåºæ¥ã
Note: 注æ: 为äºåå°æ··ä¹±ï¼\df 并䏿¾ç¤ºæ°æ®ç±»åç I/O 彿°ã è¿æ ·æ¯éè¿å¿½ç¥é£äºæ¥åæèè¿åç±»å cstring ç彿°å®ç°çã
\distvS [pattern ]
è¿ä¸æ¯ä¸ä¸ªå®éä¸çå½ä»¤åç§°ï¼åæ¯ iï¼sï¼tï¼vï¼S åå«ä»£è¡¨ç´¢å¼ï¼indexï¼ï¼ åºåï¼sequenceï¼ï¼è¡¨ï¼tableï¼ï¼è§å¾ï¼viewï¼åç³»ç»è¡¨ï¼system tableï¼ã ä½ å¯ä»¥ä»¥ä»»æé¡ºåºå£°æä»»ææèææè¿äºå- æ¯è·å¾è¿äºå¯¹è±¡çä¸ä¸ªå表ã åå¹ S æå表éå¶äºç³»ç»å¯¹è±¡ï¼å¦ææ²¡æ Sï¼ååªæ¾ç¤ºéç³»ç»å¯¹è±¡ã 妿å¨å½ä»¤åä¸éå äº +ï¼é£ä¹è¿ä¼ååºåæ¯ä¸ªå¯¹è±¡ç¸å³èçæè¿°ï¼å¦ææçè¯ã
妿声æäº patternï¼é£ä¹åªååºå¹é模å¼ç对象ã
|
\dl |
è¿æ¯\lo_list çå«åï¼æ¾ç¤ºä¸ä¸ªå¤§å¯¹è±¡çå表ã |
\dn [pattern ]
ååºææå¯ç¨æ¨¡å¼ï¼åå空é´ï¼ã妿声æäº pattern ï¼ä¸ä¸ªæ- £å表达å¼ï¼ï¼é£ä¹åªååºå¹é模å¼ç模å¼åã
\do [pattern ]
ååºææå¯ç¨æä½ç¬¦ï¼ä»¥åå®ä»¬çæä½æ°åè¿åçæ°æ®ç±»åã 妿声æäº patternï¼é£ä¹åªæ¾ç¤ºå¹é模å¼çæä½ç¬¦ã
\dp [pattern ]
çæä¸åå¯ç¨ç表åå®ä»¬ç¸å³çæéã 妿声æäº patternï¼ é£ä¹åªååºåå- å¯ä»¥å¹é模å¼ç表ã
å½ä»¤grant(7) årevoke(7) ç¨äºè®¾ç½®è®¿é®æéãåégrant(7) è·åæ´å¤ä¿¡æ¯ã
\dT [pattern ]
ååºæææ°æ®ç±»åæåªæ¾ç¤ºé£äºå¹é patternçãè¿æ¡å½ä»¤ç\dT+ 形弿¾ç¤ºæ´å¤ä¿¡æ¯ã
\du [pattern ]
ååºææå·²éç½®ç¨æ·æèåªååºé£äºå¹é pattern çç¨æ·ã
\edit (or\e) [filename ]
妿声æäº filenameï¼ åç¼è¾æ- ¤æä»¶å¹¶ä¸å¨ç¼è¾å¨éåºåå°å¶å容æ·è´åæ¥è¯¢ç¼ å²åºã å¦ææ²¡æç»åºåæ°ï¼åæå½åæ¥è¯¢ç¼å²åºå容æ·è´å°ä¸ä¸ªä¸´æ¶æä»¶ç¶åä»¥ç¸ åæ¹å¼ç¼è¾ã
ç¶åæ ¹æ®ä¸è¬çpsqlè§åéæ°åææ¥è¯¢ç¼å²åºï¼ è¿æ¶æ´ä¸ªç¼å²åºå½ä½ä¸ä¸ªåè¡ã ï¼å æ- ¤ä½ æ æ³ç¨è¿ä¸ªæ¹æ³å¶ä½“èæ¬”ï¼ç¨\i åèæ¬ãï¼ è¿è¿æå³ç å¦æè¯¥æ¥è¯¢ä»¥åå·ç»å°¾ï¼æèåå«åå·ï¼ï¼å®å°±ä¼é©¬ä¸è¢«æ§è¡ãå¦åå®åªæ¯å¨æ¥è¯¢ ç¼å²åºéçå¾ã
Tip: æç¤º: psql æç´¢ç¯å¢åé PSQL_EDITORï¼EDITOR å VISUALï¼ä»¥æ- ¤é¡ºåºï¼æ¥æ¾è¦ç¨å°åªä¸ªç¼è¾å¨ã妿ä¸é¢ç齿²¡æè®¾ç½®ï¼ä½¿ç¨/bin/viã
\echotext [ ... ]
åæ åè¾åºæå°åæ°ï¼ç¨ä¸ä¸ªç©ºæ ¼åé并䏿åè·çä¸ä¸ªæ°è¡ã è¿ä¸ªç¹æ§å¨æ¾ç¤ºèæ¬çè¾åºæ¶ä¼æç¨ãä¾å¦ï¼
=>\echo
‘date‘
Tue Oct 26 21:40:57 CEST 1999
æç¬¬ä¸ä¸ªåæ°æ¯ä¸ä¸ªæ å¼å·ç -nï¼é£ä¹ä¸ä¼ååºç»å°¾çæ°è¡ã
Tip: æç¤º: å¦æä½ ä½¿ç¨\o å½ä»¤éå®åä½ çæ¥è¯¢çè¾åºï¼ä½ å¯è½ä¼ç¨\qecho åä»£è¿æ¡å½ä»¤ã
\encoding [encoding ]
设置客æ·ç«¯å- 符ç¼ç æ¹å¼ãä¸å¸¦åæ°æ¶ï¼è¿æ¡å½ä»¤æ¾ç¤ºå½åçç¼ç æ¹å¼ã
\f [string ]
为ä¸å¯¹é½çæ¥è¯¢è¾åºè®¾ç½®ååé符ãç¼ºçæ¶æ¯ç«æ¡ï¼|ï¼ã åé\pset è·å设置è¾åºé项çéç¨æ¹æ³ã
\g [ {filename | |command } ]
æå½åçæ¥è¯¢è¾å¥ç¼å²åºçå容åéç»æå¡å¨å¹¶ä¸æè¾åºè¾åºå°å¯éç filename æèæè¾åºå®åå°ä¸ä¸ªç¬ç«ç Unix shell æ§è¡ commandã åç¬ä¸ä¸ª\g å®éä¸çæäºä¸ä¸ªåå·ãä¸ä¸ªå¸¦æåæ°ç\g æ¯"䏿¬¡æ§"ç\o å½ä»¤ç代ç¨åã
\help (or\h) [command ]
ç»åºæå® SQL å½ä»¤çè¯æ³å¸®å©ãå¦ææ²¡æç»åº command ï¼é£ä¹ psql å°ååºå¯è·å¾è¯æ³å¸®å©çææå½ä»¤ã妿 command æ¯ä¸ä¸ªæå·ï¼"*"ï¼ï¼åæ¾ç¤ºææ SQL å½ä»¤çè¯æ³å¸®å©ã
Note: 注æ: 为ç®åæ²å»ï¼åå«å¤ä¸ªååçå½ä»¤ä¸éè¦å¼ç¨ãå æ¤é®å¥\help alter table æ¯æ£ç¡®çã
|
\H |
æå¼ HTML æ¥è¯¢è¾åºæ ¼å¼ã妿 HTML æ ¼å¼å·²ç»æå¼ï¼å忢å缺çç对é½çææ¬æ ¼å¼ã è¿ä¸ªå½ä»¤æ¯ä¸ºäºå¼å®¹åæ¹ä¾¿ï¼åé\pset è·å设置å¶ä»è¾åºé项çå容ã
\ifilename
仿件filenameä¸è¯»åå¹¶æå¶å容å½ä½ä»é®çè¾å¥ç飿 ·æ§è¡æ¥è¯¢ã
Note: 注æ: å¦æä½ æ³å¨å±å¹ä¸çå°è¯»å¥çè¡ï¼ä½ å¿é¡»å¯¹ææè¡è®¾ç½®åé ECHO 为 allã
\l (or\list)
ååºæå¡å¨ä¸æææ°æ®åºçåååå®ä»¬çææè以åå- 符éç¼ç ãå¨å½ä»¤åç§°åé¢å ä¸ä¸ª "+" è¿å¯ä»¥çå°å¯¹æ°æ®åºçæè¿°ã
\lo_exportloidfilename
仿°æ®åºé读å OID 为 loid ç大对象并æå¥¹åå° filenameéã æ³¨æè¿ä¸ªåè½ä¸æå¡å¨å½æ° lo_export æäºå¾®å°çåºå«ï¼ lo_export è¿è¡æ¶å¸¦çè¿è¡æ°æ®åºæå¡å¨çç¨æ·æéï¼ è䏿¯å¨æå¡å¨çæä»¶ç³»ç»ä¸ã
Tip: æç¤º: 使ç¨\lo_list æ¥ç大对象ç OIDã OID.
\lo_importfilename [comment ]
ææä»¶åå¨ä¸ºä¸ä¸ª PostgreSQL 大对象ãå¯ä»¥å¸¦çä¸ä¸ªè¯¥å¯¹è±¡ç注解é项ãä¾å¦ï¼
foo=>\lo_import
’/home/peter/pictures/photo.xcf’ ’a
picture of me’
lo_import 152801
ååºè¡¨ææ¤å¤§å¯¹è±¡å¾å°ä¸ä¸ªå¯¹è±¡æ è¯ 152801ï¼å¦æä½ è¿æ³è®¿é®è¯¥å¯¹è±¡ï¼å°±åºè¯¥æè¿ä¸ªå¯¹è±¡æ è¯è®°ä½ã å æ- ¤ï¼æä»¬å»ºè®®æ»æ¯ç»æ¯ä¸ªå¯¹è±¡å³èä¸ä¸ªäººç±»å¯è¯»ç注解ã飿·å°±å¯ä»¥ç¨\lo_list å½ä»¤çå°è¿äºæ³¨è§£ã
注æè¿æ¡å½ä»¤ä¸æå¡å¨ç«¯ç lo_import æä¸äºåºå«ï¼å ä¸ºè¿æ¡å½ä»¤æ¯æ¬å°ç¨æ·å¨æ¬å°æä»¶ç³»ç»ä¸æä½ï¼ è䏿¯ä»¥æå¡å¨ç¨æ·å¨æå¡å¨æä»¶ç³»ç»ä¸æä½ã
\lo_list
æ¾ç¤ºä¸ä¸ªç®ååå¨å¨è¯¥æ°æ®åºéçææ PostgreSQL 大对象åå®ä»¬çææèçå表ã
\lo_unlinkloid
仿°æ®åºéå é¤OID为loid ç大对象ã
Tip: æç¤º: 使ç¨\lo_list æ¥æ¾å¤§å¯¹è±¡ç OIDã OID.
\o [ {filename | |command} ]
æåé¢çæ¥è¯¢ç»æä¿åå°æä»¶ filename éæèæåé¢çæ¥è¯¢ç»æå®åå°ä¸ä¸ªç¬ç«ç Unix shell æ§è¡ commandã å¦ææ²¡æå£°æåæ°ï¼æ¥è¯¢è¾åºé置为æ åè¾åºã
"æ¥è¯¢ç»æ"忬ææè¡¨ï¼å½ä»¤ååºå仿°æ®åºæå¡å¨æ¥çæç¤ºï¼ åæ·è¿æåç§åæ·æ¥è¯¢æ°æ®åºçåææå½ä»¤çè¾åºï¼å¦\dï¼ï¼ä½æ¯æ²¡æé误信æ¯ã
Tip: æç¤º: è¦ç¨ææ¬åæ£æ¥è¯¢ç»æä¹é´çè¾åºï¼ç¨\qechoã
|
\p |
æå°å½åæ¥è¯¢ç¼å²åºå°æ åè¾åºã
\psetparameter [value ]
è¿æ¡å½ä»¤è®¾ç½®å½±åæ¥è¯¢ç»æè¡¨è¾åºçé项ãparameter æè¿°è¦è®¾ç½®çé项æ¯åªä¸ä¸ªãvalue çè¯æä¹åå³äºå®ã
å¯è°èçæå°é项æï¼
|
format |
设置è¾åºæ ¼å¼ä¸º unalignedï¼alignedï¼htmlï¼ æ latexä¹ä¸ãå许使ç¨å¯ä¸ç缩åãï¼è¿ä¹æå³çä¸ä¸ªåæ¯å°±å¤äºãï¼
"Unaligned" ï¼ä¸å¯¹é½ï¼æä¸æ¡è®°å½çææå段é½è¾åºå°ä¸è¡ï¼ ç¨å½åææçååé符åéãè¿ä¸»è¦ç¨äºçæé£äºè¦è¢«å¶ä»ç¨åºè¯»åçè¾åºï¼tabåéï¼éå·åéï¼ã "Aligned" ï¼å¯¹é½ï¼æ¨¡å¼æ¯æåçï¼äººç±»å¯è¯»çï¼æ¼å¼å好äºçææ¬è¾åºï¼ä¹æ¯ç¼ºçã "HTML" å "LaTeX" æ¨¡å¼æè¡¨è¾åºä¸ºå¯ç¨äºææ¡£éçå¯¹åºæ è®°è¯- è¨ãå®ä»¬è¿ä¸æ¯å®æ´çææ¡£ï¼ ï¼å¯è½å¯¹äº HTML ååè¿ä¸æ¯å¤ªå¤§ï¼ä½æ¯å¨ LaTeX éï¼ä½ å¿é¡»æä¸ä¸ªå®æ´çææ¡£åè£å¨ãï¼
|
border |
第äºä¸ªåæ°å¿é¡»æ¯ä¸ä¸ªæ°åãéå¸¸ï¼æ°å- è¶å¤§ï¼è¡¨å°±æè¶å®½çè¾¹çåè¶å¤ççº¿ï¼ ä½æ¯è¿ä¸ªåæ°åå³äºå®éçæ ¼å¼ãå¨HTML模å¼éï¼ è¿ä¸ªåæ°ä¼ç´æ¥ç¿»è¯æborder=...屿§ï¼å¨å¶ä»ç模å¼éï¼ åªæå¼ 0 ï¼æ è¾¹çï¼ï¼1 ï¼åé¨åé线ï¼å 2 ï¼è¡¨æ¡æ¶ï¼ææä¹ã
expanded (or x)
卿- £å¸¸åæ©å±æ ¼å¼ä¹é´åæ¢ã彿弿©å±æ ¼å¼æ¶ï¼ææçè¾åºé½æ¯ä¸¤åï¼ åæ®µåç§°å¨å·¦ï¼æ°æ®å¨å³ã è¿ä¸ªæ¨¡å¼å¨æ°æ®æ æ³æ¾è¿é常ç"æ°´å¹³"模å¼çå±å¹æ¶å¾æç¨ã
ææåç§è¾åºæ¨¡å¼é½æ¯ææ©å±æ ¼å¼ã
|
null |
第äºä¸ªåæ°æ¯ä¸ä¸ªå串ï¼ç¨ä»¥ä»£è¡¨å段çå¼ä¸º null æ¶çæå°è¾åºã ç¼ºçæ¯ä»ä¹é½ä¸æï¼è¿æ ·å¾å®¹æå类似ä¸ä¸ªç©ºå- 串混æ·ã å æ¤ï¼æä»¬å¯è½éæ©\pset null ’(null)’ã
fieldsep
声æå¨é坹齿¨¡å¼æ¶çååé符ã è¿æ ·æä»¬å°±å¯ä»¥å建å¶ä»ç¨åºå¸æçtabæéå·åéçè¾åºãè¦è®¾ç½® tab ååéç¬¦ï¼ é®å¥\pset fieldsep ’’ã缺çååéç¬¦æ¯ ’|’ ï¼ä¸ä¸ªç«æ¡ç¬¦å·ï¼ã
|
footer |
忢é»è®¤è¶³æ çæ¾ç¤º (x rows)ã
recordsep
声æå¨é坹齿¨¡å¼æ¶çè®°å½åé符ãç¼ºçæ¯æ¢è¡ç¬¦ã
tuples_only (æ t)
å¨å®å¨æ¾ç¤ºååªæ¾ç¤ºè®°å½ä¹é´åæ¢ã å®å¨æ¾ç¤ºå°æ¾ç¤ºè±¡åå¤´ï¼æ é¢ååç§è注çä¿¡æ¯ã åªæ¾ç¤ºè®°å½æ¨¡å¼å°åªæ¾ç¤ºå®éçè¡¨æ°æ®ã
title [text ]
为任ä½éåæå°ç表设置æ é¢ã è¿ä¸ªåæ°å¯ä»¥ç¨äºç»ä½ çè¾åºä¸ä¸ªæè¿°æ§æ è®°ã 妿ä¸å¸¦åæ°ï¼éç½®æ é¢ã
tableattr (or T) [text ]
åè®¸ä½ å£°ææ¾å¨ HTML table æ è®°éçä»»ä½å±æ§ãä¾å¦ï¼å¯ä»¥æ¯ cellpadding æ bgcolorãæ³¨æä½ å¯è½ä¸éè¦å¨è¿é声æ border ï¼å 为已ç»å¨\pset border éç¨è¿äºã
|
pager |
æ§å¶æ¥è¯¢åpsql帮å©è¾åºçå页å¨ãå¦æè®¾ç½®äºç¯å¢åé PAGERï¼ è¾åºè¢«å®åå°æå®ç¨åºï¼å¦å使ç¨ç³»ç»ç¼ºçï¼æ¯å¦ moreï¼ã
妿å³é- äºå页å¨ï¼åä¸ä½¿ç¨å®ï¼å¦ææå¼äºï¼ç¨åºåªå¨éè¦çæ¶å使ç¨å页å¨ï¼ä¹å°±æ¯è¯´ï¼ è¾åºæ¯å°ç»ç«¯ï¼èä¸é£ä¸ªè¡¨å¾å¯è½æ æ³ä¸å±å¹å¹éã ï¼psql å¨å³å®ä½æ¶å页æ¶ä¸æ¯å¾å®ç¾ãï¼\pset pager å¼å³å页å¨ãæä»¬ä¹å¯ä»¥æå页å¨è®¾ç½®ä¸º alwaysï¼å¯¼è´æä»¬å¨ä»»ä½æåµä¸é½ä½¿ç¨å页å¨ã
å¯ä»¥å¨ "Examples ä¾å" èçå°è¿äºä¸åæ ¼å¼è¾åºç示ä¾ã
Tip: æç¤º: æå¾å¤ç¨äº\pset çå¿«éå½ä»¤ãåé \a,\C,\H, \t,\T, å\xã
Note: 注æ: æ åæ°è¿è¡\pset æ¯é误çã 以åè¿æ ·è°ç¨å°æ¾ç¤ºå½åæå°éé¡¹ç¶æã
|
\q |
éåº psql ç¨åºã
\qechotext [ ... ]
è¿æ¡å½ä»¤çæäº\echo ï¼åºå«æ¯ææè¾åºå°åå¥ç±\o 设置çè¾åºééã
|
\r |
éç½®ï¼æ¸ç©ºï¼æ¥è¯¢ç¼å²åºã
\s [filename ]
å°å½ä»¤è¡å岿å°åºææ¯åæ¾å° filenameã 妿çç¥ filenameï¼ åå²å°è¾åºå°æ åè¾åºãè¿ä¸ªéé¡¹åªæå¨ psql éç½®æä½¿ç¨ GNU åå²åºåæçæã
Note: 注æ: å¨å½åçæ¬éï¼è¿ä¸ªï¼ GNU åå²åºï¼ä¸åæ¯å¿é¡»çäºï¼ å®éä¸ï¼å¨ç¨åºç»ææ¶èªå¨ä¿åå½ä»¤è¡åå²ãæ¯æ¬¡ psql å¯å¨é½ä¼è£è½½å½ä»¤è¡åå²ã
\set [name [value [ ... ]]]
设置åé¨åé name 为 value æç妿ç»åºäºå¤äºä¸ä¸ªå¼ï¼ 设置为ææè¿äºå¼çèæ¥ç»æãå¦ææ²¡æç»åºç¬¬äºä¸ªåæ°ï¼åªè®¾åéä¸è®¾å¼ãè¦éç½®ä¸ä¸ªåéï¼ä½¿ç¨\unset å½ä»¤ã
ææçåéåå¯ä»¥åå«åç¬¦ï¼æ°ååä¸å线ã åéä¸é¢ç "Variables åé" è·åç»èã
å°½ç®¡ä½ å¯ä»¥è®¾ç½®ä»»ä½åé为任æå¼ï¼ psql对ä¸äºåéç¹æ®å¯¹å¾ãå®ä»¬å¨å³äºåéçèéé¢æææ¡£ã
Note: 注æ: è¿æ¡å½ä»¤æ¯å®å¨å SQL å½ä»¤ SET [set(7)] ä¸ä¸æ ·çã
|
\t |
忢è¾åºçå/åæ®µåçä¿¡æ¯å¤´åè¡è®°æ°è注ã è¿æ¡å½ä»¤çæäº\pset tuples_onlyï¼æä¾ä¸»è¦ä¸ºäºæ¹ä¾¿ã
\Ttable_options
åè®¸ä½ å¨ä½¿ç¨HTMLè¾åºæ¨¡å¼æ¶å£°ææ¾å¨ table æ è®°éç屿§ã è¿æ¡å½ä»¤çæäº\pset tableattr table_optionsã
\timing
忢æ¯ä¸ª SQL è¯å¥ä½¿ç¨çæ¶é´ï¼å使¯æ¯«ç§ã
\w {filename ||command}
å°å½åæ¥è¯¢ç¼å²åºè¾åºå°æä»¶ filename æèå®åå° Unix å½ä»¤ commandã
|
\x |
忢æ©å±è¡æ ¼å¼ãçæäº\pset expandedã
\z [pattern ]
çæä¸ä¸ªå¸¦æè®¿é®æéåè¡¨çæ°æ®åºä¸ææè¡¨çå表ã 妿ç»åºä»»ä½patternï¼åè¢«å½æä¸ä¸ªè§å表达å¼ï¼ åªæ¾ç¤ºå¹éç表ã
å½ä»¤grant(7) årevoke(7) ç¨äºè®¾ç½®è®¿é®æéã åégrant(7) è·åæ´å¤ä¿¡æ¯ã
è¿æ¯\dpï¼"æ¾ç¤ºæé"ï¼çå«åã
\! [command ]
è¿åå°ä¸ä¸ªç¬ç«ç Unix shell æèæ§è¡ Unix å½ä»¤ commandã åæ°ä¸ä¼è¢«è¿ä¸æ¥è§£éï¼shell å°çå°å¨é¨åæ°ã
|
\? |
è·å¾å³äºåææ å½ä»¤ç帮å©ä¿¡æ¯ã
åç§\d å½ä»¤é½æ¥åä¸ä¸ª pattern åæ°ï¼å£°æè¦æ¾ç¤ºç对象ååã* 表示"ä»»ä½å符åºå"ï¼ è ? 表示"ä»»ä½å个å符"ãï¼è¿ä¸ªè¡¨ç¤ºæ³å Unix ç shell æä»¶å模å¼å¼å®¹ãï¼ é«çº§ç¨æ·ä¹å¯ä»¥ä½¿ç¨æ- £å表达å¼è¡¨ç¤ºæ³ï¼æ¯å¦å符表ï¼[0-9] è¿æ ·çä¸è¥¿æ¥å¹é"ä»»ææ°å"ã è¦è®©ä»»ä½è¿äºæ¨¡å¼å¹éå符å¯ä»¥å®å- 颿¹å¼è§£æï¼é£å°±åºè¯¥ç¨åå¼å·åå´å®ä»¬ã
ä¸ä¸ªåå«ï¼æå¼å·çï¼å¥ç¹ç模å¼ä¼è¢«è§£ææ¿ä¸ä¸ªæ¨¡å¼åçæ¨¡å¼åé¢è·çä¸ä¸ªå¯¹è±¡åçæ¨¡å¼ã æ¯å¦ï¼\dt foo*.bar* æ¾ç¤ºææä»¥foo å¼å¤´ç模å¼éç以 bar å¼å¤´ç表ååã å¦ææ²¡æåºç°å¥ç¹ï¼é£ä¹è¿ä¸ªæ¨¡å¼åªå¹éå¨å½åæ¨¡å¼æç´¢è·¯å¾ä¸å¯è§ç对象ã
妿å®å¨çç¥ pattern åæ°ï¼ é£ä¹\d å½ä»¤æ¾ç¤ºææå¨å½åæ¨¡å¼æç´¢è·¯å¾ä¸- å¯è§ç对象ã è¦æ¥é卿°æ®åºä¸çææå¯¹è±¡ï¼ä½¿ç¨æ¨¡å¼ *.*ã
ADVANCED FEATURES é«çº§ç¹æ§
VARIABLES åé
psql æä¾ç±»ä¼¼é常 Unix å½ä»¤ shell 飿 ·çåéæ¿æ¢ç¹æ§ã åéåªæ¯ç®åçåç§°/æ°å¼å¯¹ï¼ è¿éçå¼å¯ä»¥æ¯ä»»ä½é¿åº¦çä»»ä½å¼ãè¦è®¾ç½®ä¸ä¸ªåéï¼ä½¿ç¨ psql åå½ä»¤ \setï¼
testdb=>\set foo bar
æåé"foo" è®¾ç½®ä¸ºå¼ "bar"ã è¦æ£ç´¢åéçå容ï¼å¨åéåå颿¾ä¸åå·ç¶åæå®ç¨å¨ä»»æææ å½ä»¤éï¼
testdb=>\echo
:foo
bar
Note: 注æ: \set çåæ°æä»åå¶ä»å½ä»¤ä¸æ ·çæ¿æ¢è§åã å æ- ¤ä½ å¯ä»¥æé æè¶£çå¼ç¨ï¼è±¡\set :foo ’something’ è¿æ ·ï¼ è·å¾åå«è±¡Perlæ PHP飿 ·æåç"è½¯è¿æ¥ï¼soft linksï¼"æ"åé åé"ã ä¸å¹¸çæ¯ï¼æè ä¸å¹¸çï¼ï¼ï¼ç¨è¿äºæé ä¸è½å任使ç¨çäºæãå¦ä¸æ¹é¢ï¼\set bar :foo æ¯ä¸ä¸ªé常ææçæ·è´åéçæ¹æ³ã
å¦æä½ ä¸å¸¦ç¬¬äºä¸ªåæ°è°ç¨\setï¼ é£ä¹åªæ¯è®¾ç½®è¿ä¸ªåéèæ²¡æå¼ã è¦éç½®ï¼æå é¤ï¼ä¸ä¸ªåéï¼ä½¿ç¨å½ä»¤\unsetã
psql
çåé¨åéå¯ä»¥åæ¬ä»»æé¡ºåºï¼
ä»»ææ°éçåæ¯ï¼æ°ååä¸å线ã
æä¸äºå¸¸ç¨åé被
psql
å¦ç¼ç¸å¾ãå®ä»¬æ¯ä¸äºé项设置ï¼
è¿äºé项å¨è¿è¡æ¶å¯ä»¥éè¿æ¹ååéçå¼æèæ¹åä¸äºåºç¨ç表ç°ç¶æèæ¹åã
尽管ä½å¯ä»¥æè¿äºåéç¨äºå¶ä»ç¨éï¼ä½æ¯æä»¬ä¸é¼å±è¿ä¹åï¼å为ç¨åºçç¹æ§å¯è½ä¼å¾å¿«åå¾é叏奿ªã
éå¸¸ï¼ææç¹æ®å¯¹å¾çåé齿¯ç±å¤§ååæ¯ç»æï¼å¯è½è¿ææ°ååä¸å线ï¼ã
为äºä¿è¯åæªæ¥çæå¤§é度çå¼å®¹æ§ï¼è¯·é¿å使ç¨è¿æ ·çåéã
ä¸é¢æ¯ä¸ä¸ªææç¹æ®å¯¹å¾çåéå表ã
AUTOCOMMIT
å¦ææ¯ onï¼ç¼ºçï¼ï¼é£ä¹æ¯ä¸ª SQL å½ä»¤é½å¨æå宿åèªå¨æäº¤ã è¦æ¨è¿è¿ç§æ¨¡å¼ä¸çæäº¤ï¼ä½ å¿é¡»è¾å¥ä¸ä¸ª BEGIN æè START TRANSACTION SQL å½ä»¤ã å¦ææ¯ off æèæªè®¾ç½®ï¼SQL å½ä»¤ä¸ä¼æäº¤ï¼ç¥éä½ æç¡®å°ååº COMMIT æè ENDã å³é- èªå¨æäº¤çæ¨¡å¼æ¯éè¿ä¸ºä½ æç¡®ååºä¸ä¸ª BEGIN å®ç°çï¼ å®æ¯æ¾å¨ä»»ä½å°æªå¨ä¸ä¸ªäºå¡åä¸å¹¶ä¸èªå·±ä¸æ¯ BEGIN æèå¶å®äºå¡æ§å¶å½ä»¤çåé¢ã
Note: 注æ: å¨å³é- èªå¨æäº¤ç模å¼ä¸ï¼ä½ å¿é¡»æç¡®æ¾å¼ä»»ä½å¤±è´¥çäºå¡ï¼æ¹æ³æ¯æ§è¡ ABORT æè ROLLBACKã è¿è¦æ³¨æå¦æä½ ä¸æäº¤å°±éåºä¼è¯ï¼ä½ çå·¥ä½ä¼ä¸¢å¤±ã
Note: 注æ: èªå¨æäº¤æå¼æ¹å¼æ¯ PostgreSQL ä¼ ç»çè¡ä¸ºï¼ 使¯å³é- èªå¨æäº¤æ´æ¥è¿ SQL è§èãå¦æä½ åæ¬¢å³é- èªå¨æäº¤ï¼ä½ åºè¯¥å¨ä½ ç.psqlrc æä»¶é设置å®ã
|
DBNAME |
ä½ æ£å¨èæ¥ççæ°æ®åºåç§°ã æ¯æ¬¡ä½ä¸ä¸ä¸ªæ°æ®åºèç»é½ä¼è®¾ç½®è¿ä¸ªå¼ï¼åæ¬ç¨åºå¯å¨ï¼ï¼ä½æ¯å¯ä»¥åé¤ã
|
ECHO |
å¦æç½®ä¸º allï¼ è¾å¥çæèæ¥èªä¸ä¸ªèæ¬çææè¡å¨åæææ§è¡åé½åå°æ åè¾åºã è¦å¨ç¨åºå¯å¨æ¶å£°æè¿äºï¼ä½¿ç¨ -aå¦æè®¾ç½®ä¸º queriesï¼ psql åªæ¯å¨æ¥è¯¢åéç»æå¡å¨ä¹åæå°åºæ¥ã å®ç°è¿ä¸ªåè½çå½ä»¤è¡éé¡¹æ¯ -eã
ECHO_HIDDEN
å½è®¾ç½®äºè¿ä¸ªåéå¹¶ä¸ä¸ä¸ªåææå½ä»¤æ¥è¯¢æ°æ®åºæ¶ï¼é¦åæ¾ç¤ºæ¥è¯¢ã è¿æ ·ä½ å¯ä»¥å¦ä¹ PostgreSQL åé¨çä¸è¥¿å¹¶ä¸å¨ä½èªå·±çç¨åºéæä¾ç±»ä¼¼åè½ã妿ä½è®¾ç½®è¯¥åéçå¼ä¸º "noexec"ï¼æ¥è¯¢åªæ¯æ¾ç¤ºåºæ¥ä½æ¯å®éä¸ä¸åéå°æå¡å¨åæ§è¡ã
ENCODING
å½åç客æ·ç«¯å符éç¼ç ã
HISTCONTROL
妿è¿ä¸ªåé设置为 ignorespaceï¼ ä»¥ç©ºæ ¼å¼å§çè¡å°ä¸ä¼è¿å¥åå²å表ã å¦æè®¾ç½®ä¸ºåé ignoredupsï¼ ä¸ä»¥ååå²è®°å½éå¹éçè¡ä¹ä¸ä¼è¿å¥åå²è®°å½ãå¼ ignorebothæ¯ä¸é¢ä¸¤ä¸ªçç»åã 妿å 餿- ¤åéæèå¶å¼ä¸ºä»»ä½ä¸ä¸é¢çå¼ä¸åçä¸è¥¿ï¼ ææäº¤äºæ¨¡å¼è¯»å¥çè¡é½è¢«ä¿åå¥åå²å表ã
Note: 注æ: è¿ä¸ªç¹æ§æ¯æ è»å°ä»bash éå½çªæ¥çã
HISTSIZE
åå¨å½ä»¤åå²éçå½ä»¤ç个æ°ã缺ç弿¯ 500ã
Note: 注æ: è¿ä¸ªç¹æ§æ¯æ è»å°ä»bash éå½çªæ¥çã
|
HOST |
å½åä½ æ£èæ¥çæ°æ®åºæå¡å¨ä¸»æºã è¿æ¯å¨æ¯æ¬¡ä½ 䏿°æ®åºèæ¥æ¶ï¼åæ¬ç¨åºå¯å¨ï¼è®¾ç½®çï¼ä½æ¯å¯ä»¥åé¤ã
IGNOREEOF
妿å 餿¤åéï¼åä¸ä¸ªäº¤äºç psqlä¼è¯åéä¸ä¸ª EOF ï¼é常æ¯Control+Dï¼å°ç»æ¢åºç¨ãå¦æè®¾ç½®ä¸ºä¸ä¸ªæ°å- å¼ï¼é£ä¹å¨åºç¨ç»æ¢å该æ°å¼ç EOF å符å°è¢«å¿½ç¥ã å¦æè®¾ç½®äºæ- ¤åé使¯æ²¡ææ°åå¼ï¼ç¼ºçæ¯ 10ã
Note: 注æ: è¿ä¸ªç¹æ§æ¯æ è»å°ä»bash éå½çªæ¥çã
LASTOID
æåå½±åçoidå¼ï¼å³ä¸ºä»ä¸æ¡ INSERT æ lo_insert å½ä»¤è¿åçå¼ã æ- ¤åéåªä¿è¯å¨ä¸ä¸æ¡ SQL å½ä»¤çç»ææ¾ç¤ºä¹åææã
ON_ERROR_STOP
ç¼ºçæ¶ï¼å¦æé交äºçèæ¬ç¢°å°ä¸ä¸ªé误ï¼è±¡ä¸æ¡é误ç SQL å½ä»¤æèåé¨åå½ä»¤ï¼å¤çä¼ç»§ç»è¿è¡ã è¿æ¯ psql çä¼ ç»ç¹æ§ï¼ 使¯ææ¶åæä»¬ä¸å¤ªå¸æè¿æ ·ãå¦æè®¾ç½®äºè¿ä¸ªåéï¼èæ¬å¤çå°é©¬ä¸åæ¢ã å¦æè¯¥èæ¬æ¯ä»å¦å¤ä¸ä¸ªèæ¬è°ç¨çï¼é£ä¸ªèæ¬ä¹ä¼æåæ ·çæ¹å¼åæ¢ã 妿æå¤å±çèæ¬ä¸æ¯ä»ä¸æ¬¡äº¤äºç psql ä¼è¯ä¸è°ç¨çèæ¯ç¨ -f é项è°ç¨çï¼psql å°è¿åé误代ç3ï¼ä»¥ç¤ºè¿ä¸ªæåµä¸è´å½é误æ¡ä»¶çåºå«ï¼é误代ç1ï¼ã
|
PORT |
å½åä½ æ£å¨èæ¥çæ°æ®åºæå¡å¨ç端å£ã è¿æ¯å¨æ¯æ¬¡ä½ä¸æ°æ®åºèæ¥æ¶ï¼åæ¬ç¨åºå¯å¨ï¼è®¾ç½®çï¼ä½æ¯å¯ä»¥å é¤ã
PROMPT1
PROMPT2
PROMPT3
è¿äºææpsql æ¾ç¤ºçæç¤ºç¬¦çä¸å»è±¡ä»ä¹ã åéä¸é¢ç "Prompting æç¤ºç¬¦"ã
|
QUIET |
è¿ä¸ªåéçæäºå½ä»¤è¡é项 -qã å¯è½å¨äº¤äºæ¨¡å¼ä¸æ²¡æä»ä¹ç¨ã
SINGLELINE
è¿ä¸ªåéçæäºè®¾ç½®å½ä»¤è¡é项 -Sãä½ å¯ä»¥å¨è¿è¡æ¶å é¤æè®¾ç½®å®ã
SINGLESTEP
è¿ä¸ªåéçæäºå½ä»¤è¡é项-sã
|
USER |
å½åä½ æ£ç¨äºèæ¥çæ°æ®åºç¨æ·ã è¿æ¯å¨æ¯æ¬¡ä½ä¸æ°æ®åºèæ¥æ¶ï¼åæ¬ç¨åºå¯å¨ï¼è®¾ç½®çï¼ä½æ¯å¯ä»¥åé¤/éç½®ã
VERBOSITY
è¿ä¸ªé项å¯ä»¥è®¾ç½®ä¸ºå¼ defaultï¼verboseï¼æè terse 以æ§å¶é误æ¥åçåä½è¡ã
SQL INTERPOLATION 代æ¢
ä¸ä¸ªéå ç psql åéçæç¨ç¹æ§æ¯ä½ å¯ä»¥æå®ä»¬æ¿æ¢ï¼"代æ¢"ï¼ææ£è§ç SQL è¯- å¥ãè¿æ ·åçè¯æ³åæ ·è¿æ¯åéååé¢å ä¸ä¸ªåå·ï¼:ï¼ã
testdb=>\set
foo ’my_table’
testdb=>SELECT * FROM :foo;
å°ä¼æ¥è¯¢è¡¨my_tableãåéç弿¯éåæ·è´çï¼ æä»¥å®çè³å¯ä»¥åå«ä¸å¯¹ç§°çå¼å·æåææå½ä»¤ãä½å¿é¡»ä¿è¯ä½è¾å¥çä¸è¥¿æ¯ææä¹çã åéæ¿æ¢å°ä¸ä¼å¨å¼å·å¼èµ·æ¥ç SQL è¯å¥éé¢åçã
å©ç¨è¿ä¸ªåè½çä¸ä¸ªæ¶é«¦çåºç¨æ¯éè¿ä½¿ç¨ä¸ä¸ªéåçè¯å¥ä¸æåæå¥ç OID 建ç«ä¸ä¸ªå¤é®ä»¿çåºæ¯ã å¦ä¸ä¸ªå¯è½ç¨å°è¿ä¸ªæºå¶çå°æ¹æ¯æä¸ä¸ªæä»¶çå容æ·è´å°ä¸ä¸ªå段éé¢å»ã é¦åææä»¶è£è½½å°ä¸ä¸ªåéç¶å象ä¸é¢é£æ ·å¤çã
testdb=>\set
content ’\’’ ‘cat my_file.txt‘
’\’’
testdb=>INSERT INTO my_table VALUES
(:content);
è¿æ ·å¤ççä¸ä¸ªå¯è½é®é¢æ¯ my_file.txt å¯è½åå«åå¼å·ãè¿äºéè¦è¢«éé¸ä»¥åå¨å¤ç第ä¸è¡æ¶ä¸ä¼å¯¼è´è¯æ³é误ã å¯ä»¥ä½¿ç¨ç¨åº sed æ¥åè¿ä¸ªå¤çï¼
testdb=>\set content ’\’’ ‘sed -e "s/’/\\\\\\’/g" < my_file.txt‘ ’\’’
è§å¯æ£ç¡®æ°éçåææ ï¼6ï¼ï¼ä½ å¯ä»¥è¿æ ·è§£éå®ï¼å¨
psql
åæå®è¿è¡åï¼å®æ
sed -e "s/’/\\\’/g" < my_file.txt
ä¼ éç»shellã
shell
å°å¯¹åå¼å·éçä¸è¥¿åå¶å¤çç¶åç¨åæ°
-e å
s/’/\\’/g æ§è¡
sedãå½
sedåæè¿äºæ¶ï¼
å®å°æååææ æ¿æ¢ä¸ºåä¸ªåææ ç¶åè¿è¡æ¿æ¢ã
å¯è½ææ¶åä½ è®¤ä¸ºææ
Unix
å½ä»¤ä½¿ç¨åä¸ä¸ªéé¸å符æ¯ä¸ªå¥½äºã
ä½å·æè®½åºæå³çäºå®æ¯ä½ å¯è½ä¸å¾ä¸é鏿æåææ ï¼å 为
SQL
ææ¬å¸¸éåæ ·ä¹æ¨é-
è¿ç§è§£éã
è¿ç§æåµä¸ä½ å¯è½æå¥½å¨å¤é¨å夿件ã
å 为åå·ä¹å¯ä»¥åæ³çåºç°å¨ SQL å½ä»¤éï¼ä¾¿æä¸é¢è§åçåºç¨ï¼ å¦ææ²¡æè®¾ç½®åéï¼å符åºå "åå·+åç§°" ä¸ä¼è¢«æ¹åã å¨ä»»ä½æåµä¸ä½ é½å¯ä»¥ç¨åææ éé¸åå·ä»¥ä¿æ¤å®åäºè¢«è§£éã ï¼åéçåå·è¯æ³æ¯ SQL ç¨äºåµå¥æ¥è¯¢è¯è¨çæ åï¼å¦ ECPGãç¨äºæ°ç»ç段åç±»å转æ¢çåå·è¯æ³æ¯ PostgreSQL æ©å±ï¼å æ¤æå²çªãï¼
PROMPTING æç¤ºç¬¦
psql 使ç¨çæç¤ºç¬¦å¯ä»¥æ ¹æ®ä½ çå好客æ·åãä¸ä¸ªåé PROMPT1ï¼PROMPT2ï¼å PROMPT3 åå«æè¿°æç¤ºç¬¦çå¤è§çå串åç¹æ®éé¸åºåãPrompt 1 æ¯ psql 请æ±ä¸ä¸ªæ°å½ä»¤æ¶ç使ç¨çæ£å¸¸æç¤ºç¬¦ã Prompt 2 æ¯å¨ä¸ä¸ªå½ä»¤è¾å¥æå¾æ´å¤è¾å¥æ¶ï¼å为æ¥è¯¢æ²¡æç¨ä¸ä¸ªåå·ç»ææèå¼å·æ²¡æå³é- ï¼æ¾ç¤ºçæç¤ºç¬¦ã Prompt 3 å¨ä½ è¿è¡ä¸ä¸ª SQL COPY å½ä»¤åç- å¾ä½ å¨ç»ç«¯ä¸é®å¥è®°å½æ¶ä½¿ç¨ã
ç¸åºçæç¤ºç¬¦åéç弿¯æå- 颿å°çï¼é¤é碰å°ä¸ä¸ªç¾åå·ï¼%ï¼ãè¿æ¶æäºå¶ä»çææ¬è¢«æ¿æ¢ï¼ æ¿æ¢ä¸ºä½ç©åå³äºä¸ä¸ä¸ªå符ãå·²å®ä¹çæ¿æ¢æ¯ï¼
|
%M |
æ°æ®åºæå¡å¨ä¸»æºåå¨åï¼å¸¦çååï¼ï¼å¦æèæ¥æ¯éè¿ Unix å奿¥å- è¿è¡çå°±æ¯ [local]ï¼ æè妿 Unix å奿¥å䏿¯ç¼è¯ç缺çä½ç½®ï¼å°±æ¯ [local:/dir/name]ã
|
%m |
æ°æ®åºæå¡å¨ç主æºåå å»ç¬¬ä¸ä¸ªç¹åé¢çé¨åå©ä¸çä¸è¥¿ã æèå¦æèæ¥æ¯éè¿ Unix å奿¥åï¼å°±æ¯ [local]ã
|
%> |
æ°æ®åºæå¡å¨æ£å¨ä¾¦å¬ç端å£å·ã
|
%n |
æ°æ®åºä¼è¯çç¨æ·åã ï¼è¿ä¸ªå¼çæ©å±å¯è½å¨ä¸ä¸ªæ°æ®åºä¼è¯è¿ç¨ä¸- å 为SET SESSION AUTHORIZATION å½ä»¤èæ¹åãï¼
|
%/ |
å½åæ°æ®åºåç§°ã | ||
|
%˜ |
类似 %/ï¼ ä½å¦ææ°æ®åºæ¯ä½ çç¼ºçæ°æ®åºè¾åºæ¯"˜" ï¼æ³¢æµªçº¿ï¼tildeï¼ï¼ã | ||
|
%# |
妿ä¼è¯ç¨æ·æ¯æ°æ®åºè¶çº§ç¨æ·ï¼ä½¿ç¨ "#"ï¼å¦åç¨">"ã ï¼è¿ä¸ªå¼çæ©å±å¯è½å¨ä¸ä¸ªæ°æ®åºä¼è¯è¿ç¨ä¸å 为SET SESSION AUTHORIZATION å½ä»¤èæ¹åãï¼
|
%R |
å¯¹äº prompt 1 éå¸¸æ¯ =ï¼ä½æ¯å¦ææ¯åè¡æ¨¡å¼åæ¯ ˆï¼è妿ä¼è¯ä¸æ°æ®åºæå¼ï¼å¦æ
|
%x |
äºå¡ç¶æï¼å¦æä¸å¨äºå¡åéï¼æ¯ä¸ä¸ªç©ºå串ï¼å¦æå¨äºå¡åéï¼æ¯ *ï¼ å¦æå¨ä¸ä¸ªå¤±è´¥çäºå¡å鿝 !ï¼æèæ æ³å¤æäºå¡ç¶ææ¶ä¸º ? ï¼æ¯å¦ï¼å 为没æè¿æ¥ï¼ã
%digits
妿 digits 以 0x å¼å¤´ï¼ é£ä¹å¶ä½å符被解éæä¸ä¸ªååè¿å¶æ°å- 并䏿¿æ¢ä¸ºå¯¹åºï¼ååè¿å¶ç ï¼çå符ã å¦æç¬¬ä¸ä¸ªæ°åæ¯ 0ï¼è¯¥å- 符被解éæä¸ä¸ªå«è¿å¶æ°å并䏿¿æ¢ä¸ºå¯¹åºçï¼å«è¿å¶ç ï¼çå符ã å¦å认为æ¯ä¸ä¸ªåè¿å¶æ°åã
%:name:
psqlåénameçå¼ãåé "Variables åé" èè·åç»èã
%‘command‘
commandçè¾åºï¼ 类似äºé常çåå¼å·ï¼back-tickï¼æ¿æ¢ã
è¦å¨æç¤ºç¬¦éæå¥ç¾åå·ï¼é®å¥%%ã缺çæç¤ºç¬¦çæäº ’%/%R%# ’ ç¨äº prompts 1 å 2ï¼ä»¥å’>> ’ ç¨äº prompt 3ã
Note: 注æ: è¿ä¸ªç¹æ§æ¯æ è»å°ä»tcsh éå½çªæ¥çã
COMMAND-LINE EDITING å½ä»¤è¡ç¼è¾
psql 为äºç¼è¾åæ£ç´¢å½ä»¤è¡çæ¹ä¾¿æ¯æ readline ååå²åºã å½ä»¤åå²å- æ¾å¨ä½ çå®¶ç®å½çä¸ä¸ªå« .psql_history çæä»¶éï¼ å¹¶ä¸å½ psql å¯å¨çæ¶åä¼è£è½½è¿æ¥ã è¿æ¯æ Tab è¡¥é½ï¼å°½ç®¡è¯¥è¡¥é½é»è¾å¹¶ä¸æ¯ä¸ä¸ª SQL åæå¨å¿å¤çã å¦æå æäºåå ä½ ä¸å欢 tab è¡¥é½ï¼ä½ å¯ä»¥æä¸é¢å è¡æ¾å¨ä½ çå®¶ç®å½çä¸ä¸ªå«.inputrc çæä»¶éå³é- è¿ä¸ªç¹æ§ï¼
$if psql
set disable-completion on
$endif
ï¼è¿ä¸æ¯ psql çç¹æ§ï¼ æ¯Readline çãåèå®çææ¡£è·åæ´å¤ç»èãï¼
ENVIRONMENT ç¯å¢
|
HOME |
åå§åæä»¶ï¼.psqlrcï¼åå½ä»¤å岿件ï¼.psql_historyï¼çç®å½ã
|
PAGER |
妿æ¥è¯¢ç»æå¨ä¸é¡µéæ¾ä¸ä¸ï¼é£ä¹å®ä»¬è¢«å®åå°è¿ä¸ªå½ä»¤ã å¸åç弿¯ more æè lessã 缺ççæ¯å¹³å°ç¸å³çãæä»¬å¯ä»¥ç¨\pset å½ä»¤å³éå页å¨ã
PGDATABASE
缺çè¿æ¥çæ°æ®åº
|
PGHOST |
||
|
PGPORT |
||
|
PGUSER |
缺çè¿æ¥åæ°
PSQL_EDITOR
|
EDITOR |
|||
|
VISUAL |
\e å½ä»¤ä½¿ç¨çç¼è¾å¨ãè¿äºå鿝æç§ä¸é¢çé¡ºåºæ£æ¥çï¼è®¾ç½®ææ©çæå使ç¨ã | ||
|
SHELL |
\! å½ä»¤æ§è¡çå½ä»¤ã | ||
|
TMPDIR |
åå¨ä¸´æ¶æä»¶çç®å½ãç¼ºçæ¯/tmpã
FILES
|
• |
å¨å¯å¨ä¹åï¼psql è§å¾è¯»åå¹¶ æ§è¡æ¥èªæä»¶$HOME/.psqlrc çå½ä»¤ã å®å°ç¨äºè®¾ç½®å®¢æ·ç«¯æèæå¡å¨ç飿 ¼ï¼ä½¿ç¨\set åSET å½ä»¤ï¼ã
|
• |
å½ä»¤è¡åå²åå¨å¨$HOME/.psql_historyã
NOTES 注æ
|
• |
ä¸äº psqlçæ©æçæ¬å许ä¸ä¸ªåå- æ¯çåææ å½ä»¤ï¼åå½ä»¤ï¼ç第ä¸ä¸ªåæ°ç´æ¥è·å¨å½ä»¤åé¢ï¼ èä¸ç¨ç©ºç½é´éãåºäºå¼å®¹æ§ååï¼è¿ä¸ªç¹æ§ä»ç¶å¨æäºç¨åº¦ä¸è¢«æ¯æï¼ä½æ¯æä¸åå¤å¨è¿é详ç»è§£éï¼å为æä¸é¼å±è¿æ·ä½¿ç¨ã ä¸è¿å¦æä½ æ¶å°è«åå¶å¦çä¿¡æ¯ï¼æ³æ³è¿ä¸ªç¨æ³ãä¾å¦
testdb=>\foo
Field separator is "oo".
å¯è½ä¸æ¯ä½ æ³è¦çä¸è¥¿ã
|
• |
psql åªè½ä¸åçæ¬çæå¡å¨å¹³ç¨³å°å·¥ä½ã è¿ä¸æå³çå¶ä»ç»åä¼å®å¨å¤±è´¥ï¼ä½æ¯å¯è½æå¾®å°çæèä¸é£ä¹å¾®å°çé®é¢ã 妿æå¡å¨ççæ¬ä¸åï¼åææ å½ä»¤æ¯ç¹å«å®¹æå¤±æçã |
EXAMPLES ä¾å
第ä¸ä¸ªä¾åæ¼ç¤ºäºå¦ä½æä¸ä¸ªæ¥è¯¢åæå¤ä¸ªè¡è¿è¡è¾å¥ã注ææç¤ºç¬¦çååï¼
testdb=>CREATE
TABLE my_table (
testdb(> first integer not null default 0,
testdb(> second text
testdb->);
CREATE TABLE
ç°å¨åçç表å®ä¹ï¼
testdb=>\d
my_table
Table "my_table"
Attribute | Type | Modifier
-----------+---------+--------------------
first | integer | not null default 0
second | text |
ææç¤ºç¬¦åææ´æè¶£çä¸è¥¿ï¼
testdb=>\set
PROMPT1 ’%n@%m %˜%R%# ’
peter@localhost testdb=>
åè®¾ä½ ç¨æ°æ®å¡«åäºè¡¨å¹¶ä¸æ³çä¸ç¼ï¼
peter@localhost
testdb=> SELECT * FROM my_table;
first | second
-------+--------
1 | one
2 | two
3 | three
4 | four
(4 rows)
ä½ å¯ä»¥ç¨\pset å½ä»¤è®©è¿ä¸ªæ¥è¯¢çèµ·æ¥ä¸ä¸æ ·ï¼
peter@localhost
testdb=>\pset border 2
Border style is 2.
peter@localhost testdb=>SELECT * FROM my_table;
+-------+--------+
| first | second |
+-------+--------+
| 1 | one |
| 2 | two |
| 3 | three |
| 4 | four |
+-------+--------+
(4 rows)
peter@localhost
testdb=>\pset border 0
Border style is 0.
peter@localhost testdb=>SELECT * FROM my_table;
first second
----- ------
1 one
2 two
3 three
4 four
(4 rows)
peter@localhost
testdb=>\pset border 1
Border style is 1.
peter@localhost testdb=>\pset format unaligned
Output format is unaligned.
peter@localhost testdb=>\pset fieldsep
","
Field separator is ",".
peter@localhost testdb=>\pset tuples_only
Showing only tuples.
peter@localhost testdb=>SELECT second, first FROM
my_table;
one,1
two,2
three,3
four,4
è¿å¯ä»¥ç¨çï¼ç¼©åï¼å½ä»¤ï¼
peter@localhost
testdb=>\a\t\x
Output format is aligned.
Tuples only is off.
Expanded display is on.
peter@localhost testdb=>SELECT * FROM my_table;
-[ RECORD 1 ]-
first | 1
second | one
-[ RECORD 2 ]-
first | 2
second | two
-[ RECORD 3 ]-
first | 3
second | three
-[ RECORD 4 ]-
first | 4
second | four
è¯è
Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh