Ubuntu下命令行操作Postgresql

切换到postgres用户下:sudo su - postgres

连接数据库, 默认的用户和数据库是postgres

psql -U user -d dbname

\c dbname 切换数据库,相当于mysql的use dbname
\l 列举数据库,相当于mysql的show databases
\dt 列举表,相当于show tables
\d tblname 查看表结构,相当于desc tblname,show columns from tbname

一般性
\c[onnect] [资料库名称|- 用户名称|- 主机|- 埠号|-]连线到新的资料库 (目前是 "test")
\cd [目录] 改变目前的工作目录
\copyright 显示 PostgreSQL 的使用和发行条款
\encoding [字元编码名称] 显示或设定用户端字元编码
\h [名称] SQL 命令语法上的说明,用 * 显示全部命令
\prompt [文本] 名称 提示用户设定内部变数
\password [USERNAME] securely change the password for a user
\q 退出 psql
\set [名称 [值数]] 设定内部变数,若无参数则列出全部变数
\timing 切换命令计时开关 (目前是 关闭)
\unset 名称 清空(删除)内部变数
! [命令] 在 shell 里执行命令或开启一个 shell

查询缓存区
\e [档案] 使用外部编辑器编辑查询缓存区(或档案)
\g [档案] 将查询缓存区送至伺服器 (并把结果写入档案或 | 管线"pipe")
\p 显示查询缓存区的内容
\r 重置(清除)查询缓存区
\w 档案 将查询缓存区写入档案

输入/输出
\echo [字串] 将字串写至标准输出
\i 档案 从档案中执行命令
\o [档案] 将全部查询结果写入档案或 |管道"pipe"
\qecho [字串] 将字串写入查询输出串流 (参考 \o)

资讯性
\d [名称] 为资料表、索引、序列数或视观表加上注解
\d{t|i|s|v|S} [模型] (加上 "+" 取得更多资讯) 列出资料表/索引/序列数/视观表/系统资料表
\da [模型] 列出聚集函数
\db [模型] 列出表空间 (加上 "+" 取得更多资讯)
\dc [模型] 列出字元编码转换
\dC 列出型别转换
\dd [模型] 显示物件的注解
\dD [模型] 列出共同值域
\df [模型] 列出函数(加上 "+" 取得更多资讯)
\dF [模型] 列出文本搜寻组态 (加上 "+" 取得更多资讯)
\dFb [模型] 列出文本搜寻字典 (加上 "+" 取得更多资讯)
\dFt [模型] 列出文本搜寻样式
\dFp [模型] 列出文本搜寻剖析器 (加上 "+" 取得更多资讯)
\dg [模型] 列出群组
\dn [模型] 列出架构模式 (加上 "+" 取得更多资讯)
\do [名称] 列出运算子
\dl 列出大型物件,同 \lo_list
\dp [模型] 列出资料表、视观表和序列数的存取权限
\dT [模型] 列出资料型别(加上 "+" 取得更多资讯)
\du [模型] 列出角色
\l 列出全部资料库(加上 "+" 取得更多资讯)
\z [模型] 列出资料表、视观表和序列数存取权限(同 \dp)

格式化
\a 切换非对齐模式和对齐模式
\C [字串] 设定资料表标题或取消
\f [字串] 显示或设定非对齐模式的栏位分隔符号
\H 切换 HTML 输出模式 (目前是 关闭)
\pset 名称 [值数] 设定资料表输出选项
(名称:= {format|border|expanded|fieldsep|footer|null|
recordsep|tuples_only|title|tableattr|pager})
\t 只显示资料列 (目前是 关闭)
\T [字串] 设定 HTML 表格标签属性
\x 切换扩展输出模式(目前是 关闭)
复制(Copy),大型物件(Large Object)
\copy ... 执行 SQL COPY,资料流指向客户端主机
\lo_export LOBOID 档案
\lo_import 档案 [COMMENT]
\lo_list
\lo_unlink LOBOID 大型物件运算子

退出postgres用户:
exit

推荐阅读更多精彩内容