PostgreSQL(简称pgsql、psql)的一些简单命令

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES 版本 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。
有些特性据说超过mysql,没有应用需求也就没有具体使用,反正原生支持全文检索、GIS应用挺吸引眼球。
如果记不住一些命令可以直接输入h [命令]或者?即可查看相应命令或用法,返回结果如下:
一般性
copyright 显示PostgreSQL的使用和发行许可条款
g [文件] or; 执行查询 (并把结果写入文件或 |管道)
h [名称] SQL命令语法上的说明,用*显示全部命令的语法说明
q 退出 psql

查询缓存区
e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)
ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义
p 显示查询缓存区的内容
r 重置(清除)查询缓存区
w 文件 将查询缓存区的内容写入文件

输入/输出
copy … 执行 SQL COPY,将数据流发送到客户端主机

echo [字符串] 将字符串写到标准输出
i 文件 从文件中执行命令
ir FILE 与 i类似, 但是相对于当前脚本的位置
o [文件] 将全部查询结果写入文件或 |管道
qecho [字符串] 将字符串写到查询输出串流(参考 o)

资讯性
(选项: S = 显示系统对象, + = 其余的详细信息)
d[S+] 列出表,视图和序列
d[S+] 名称 描述表,视图,序列,或索引
da[S] [模式] 列出聚合函数
db[+] [模式] 列出表空间
dc[S+] [PATTERN] 列表转换
dC[+] [PATTERN] 列出类型强制转换
dd[S] [PATTERN] 显示没有在别处显示的对象描述
ddp [模式] 列出缺省权限
dD[S+] [PATTERN] 列出共同值域
det[+] [PATTERN] 列出引用表
des[+] [模式] 列出外部服务器
deu[+] [模式] 列出用户映射
dew[+] [模式] 列出外部数据封装器
df[antw][S+] [模式] 列出[只包括 聚合/常规/触发器/窗口]函数
dF[+] [模式] 列出文本搜索配置
dFd[+] [模式] 列出文本搜寻字典
dFp[+] [模式] 列出文本搜索解析器
dFt[+] [模式] 列出文本搜索模版
dg[+] [PATTERN] 列出角色
di[S+] [模式] 列出索引
dl 列出大对象, 功能与lo_list相同
dL[S+] [PATTERN] 列出所有过程语言
dn[S+] [PATTERN] 列出所有模式
do[S] [模式] 列出运算符
dO[S+] [PATTERN] 列出所有校对规则
dp [模式] 列出表,视图和序列的访问权限
drds [模式1 [模式2]] 列出每个数据库的角色设置
ds[S+] [模式] 列出序列
dt[S+] [模式] 列出表
dT[S+] [模式] 列出数据类型
du[+] [PATTERN] 列出角色
dv[S+] [模式] 列出视图
dE[S+] [PATTERN] 列出引用表
dx[+] [PATTERN] 列出扩展
l[+] 列出所有的数据库
sf[+] FUNCNAME 显示函数定义
z [模式] 和dp的功能相同

格式化
a 在非对齐模式和对齐模式之间切换
C [字符串] 设置表的标题,或如果没有的标题就取消
f [字符串] 显示或设定非对齐模式查询输出的字段分隔符
H 切换HTML输出模式 (目前是 关闭)
pset NAME [VALUE] 设定表输出选项
(NAME := {format|border|expanded|fieldsep|fieldsep_zer
|footer|null|
numericlocale|recordsep|recordsep_zero|tuples_only|tit
e|tableattr|pager})
t [开|关] 只显示记录 (目前是 关闭)
T [字符串] 设置HTML <表格>标签属性, 或者如果没有的话取消设置
x [on|off|auto] 切换扩展输出模式(目前是 关闭)

连接
c[onnect] [数据库名称|- 用户名称|- 主机|- 端口|-]
连接到新的数据库(目前是 “mypico”)
encoding [编码名称] 显示或设定客户端编码
password [USERNAME] 安全地为用户改变口令
conninfo 显示当前连接的相关信息

操作系统
cd [目录] 改变目前的工作目录
setenv NAME [VALUE] 设置或清空环境变量
timing [开|关] 切换命令计时开关 (目前是 关闭)
! [命令] 在 shell中执行命令或启动一个交互式shell

变量
prompt [文本] 名称 提示用户设定内部变量
set [名称 [值数]] 设定内部变量,若无参数则列出全部变量
unset 名称 清空(删除)内部变量

大对象
lo_export LOBOID 文件
lo_import 文件 [注释]
lo_list
lo_unlink LOBOID 大对象运算

支持的命令有:
可用的说明:
ABORT DECLARE
ALTER AGGREGATE DELETE
ALTER COLLATION DISCARD
ALTER CONVERSION DO
ALTER DATABASE DROP AGGREGATE
ALTER DEFAULT PRIVILEGES DROP CAST
ALTER DOMAIN DROP COLLATION
ALTER EXTENSION DROP CONVERSION
ALTER FOREIGN DATA WRAPPER DROP DATABASE
ALTER FOREIGN TABLE DROP DOMAIN
ALTER FUNCTION DROP EXTENSION
ALTER GROUP DROP FOREIGN DATA WRAPPER
ALTER INDEX DROP FOREIGN TABLE
ALTER LANGUAGE DROP FUNCTION
ALTER LARGE OBJECT DROP GROUP
ALTER OPERATOR DROP INDEX
ALTER OPERATOR CLASS DROP LANGUAGE
ALTER OPERATOR FAMILY DROP OPERATOR
ALTER ROLE DROP OPERATOR CLASS
ALTER SCHEMA DROP OPERATOR FAMILY
ALTER SEQUENCE DROP OWNED
ALTER SERVER DROP ROLE
ALTER TABLE DROP RULE
ALTER TABLESPACE DROP SCHEMA
ALTER TEXT SEARCH CONFIGURATION DROP SEQUENCE
ALTER TEXT SEARCH DICTIONARY DROP SERVER
ALTER TEXT SEARCH PARSER DROP TABLE
ALTER TEXT SEARCH TEMPLATE DROP TABLESPACE
ALTER TRIGGER DROP TEXT SEARCH CONFIGURATION
ALTER TYPE DROP TEXT SEARCH DICTIONARY
ALTER USER DROP TEXT SEARCH PARSER
ALTER USER MAPPING DROP TEXT SEARCH TEMPLATE
ALTER VIEW DROP TRIGGER
ANALYZE DROP TYPE
BEGIN DROP USER
CHECKPOINT DROP USER MAPPING
CLOSE DROP VIEW
CLUSTER END
COMMENT EXECUTE
COMMIT EXPLAIN
COMMIT PREPARED FETCH
COPY GRANT
CREATE AGGREGATE INSERT
CREATE CAST LISTEN
CREATE COLLATION LOAD
CREATE CONVERSION LOCK
CREATE DATABASE MOVE
CREATE DOMAIN NOTIFY
CREATE EXTENSION PREPARE
CREATE FOREIGN DATA WRAPPER PREPARE TRANSACTION
CREATE FOREIGN TABLE REASSIGN OWNED
CREATE FUNCTION REINDEX
CREATE GROUP RELEASE SAVEPOINT
CREATE INDEX RESET
CREATE LANGUAGE REVOKE
CREATE OPERATOR ROLLBACK
CREATE OPERATOR CLASS ROLLBACK PREPARED
CREATE OPERATOR FAMILY ROLLBACK TO SAVEPOINT
CREATE ROLE SAVEPOINT
CREATE RULE SECURITY LABEL
CREATE SCHEMA SELECT
CREATE SEQUENCE SELECT INTO
CREATE SERVER SET
CREATE TABLE SET CONSTRAINTS
CREATE TABLE AS SET ROLE
CREATE TABLESPACE SET SESSION AUTHORIZATION
CREATE TEXT SEARCH CONFIGURATION SET TRANSACTION
CREATE TEXT SEARCH DICTIONARY SHOW
CREATE TEXT SEARCH PARSER START TRANSACTION
CREATE TEXT SEARCH TEMPLATE TABLE
CREATE TRIGGER TRUNCATE
CREATE TYPE UNLISTEN
CREATE USER UPDATE
CREATE USER MAPPING VACUUM
CREATE VIEW VALUES
DEALLOCATE WITH

如果想查看具体命令用法:
h with
返回如下帮助,非常详细:
命令: WITH
描述: 从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [, …] ]
SELECT [ ALL | DISTINCT [ ON ( 表达式 [, …] ) ] ]
* | 表达式 [ [ AS ] 输出名称 ] [, …]
[ FROM from列表中项 [, …] ]
[ WHERE 条件 ]
[ GROUP BY 表达式 [, …] ]
[ HAVING 条件 [, …] ]
[ WINDOW 窗口名称 AS ( 窗口定义 ) [, …] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] 查询 ]
[ ORDER BY 表达式 [ ASC | DESC | USING 运算子 ] [ NULLS { FIRST | LAST } ] [
, …] ]
[ LIMIT { 查询所用返回记录的最大数量 | ALL } ]
[ OFFSET 起始值 [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY
]
[ FOR { UPDATE | SHARE } [ OF 表名 [, …] ] [ NOWAIT ] […] ]

from 列表中的项可以是下列内容之一

[ ONLY ] 表名 [ * ] [ [ AS ] 化名 [ ( 列的化名 [, …] ) ] ]
( 查询 ) [ AS ] 化名 [ ( 列的化名 [, …] ) ]
WITH查询语句名称(with_query_name) [ [ AS ] 化名 [ ( 列的化名 [, …] ) ] ]
函数名称 ( [ 参数 [, …] ] ) [ AS ] 化名 [ ( 列的化名 [, …] | 列定义 [, .
..] ) ]
函数名称 ( [ 参数 [, …] ] ) AS ( 列定义 [, …] )
from列表中项 [ NATURAL ] 连接操作的类型 from列表中项 [ ON 用连接操作的条件 |
USING ( 用于连接操作的列 [, …] ) ]

with查询语句是:

WITH查询语句名称(with_query_name) [ ( 列名称 [, …] ) ] AS ( 查询 | 值 | in
sert | update | delete )

TABLE [ ONLY ] 表名 [ * ]