psql的命令语法是:

psql [options] [dbname [username]]

psql命令行选项以及它们的意思在表1-1中列出。使用以下命令可以看到psql完整的选项列表:

$ psql --help

表1-1 psql命令行选项

选项

意义

-a

从脚本中响应所有输入

-A

取消表数据输出的对齐模式;功能与“-P format=unaligned”相同

-c <查询>

仅仅运行一个简单的查询(或者内部命令)然后退出

-d <数据库名>

指定连接到的数据库名(默认为$PGDATABASE或者当前登录用户名)

-e

回显发送到服务器的查询

-E

显示内部命令生成的查询语句

-f <文件名>

执行一个文件中的查询,然后退出

-F <字符串>

指定列数据显示分隔符(默认为“|”);功能与“-P fieldsep=<字符串>”相同

-h <主机>

指定数据库服务器主机(默认为$PGHOST或者本地主机)

-H

设置表格输出模式为HTML;功能与“-P format=html”相同

--help

显示帮助,然后退出

-l

列出存在的数据库,然后退出

-n

禁用readline;阻止行编辑

-o <文件名>

将查询的输出发送到文件名指定文件(使用“|管道”的形式将输出发送到一个过滤程序)

-p <端口>

指定数据库服务器的端口(默认为$PGPORT或者编译期设置的默认值,通常为4321)

-P var[=arg]

设置打印选项var为arg(查看\pset命令)

-q

以静默方式运行(没有任何消息,仅有查询的输出)

-R <字符串>

设置记录的分隔符(默认为换行);功能与“-P recordsep=<字符串>”相同

-s

设置为单步执行模式(每条查询都需要确认)

-S

设置单行模式(每行结束就认为查询输入结束,而不是分号)

-t

只打印行;功能与“-P tuples_only”相同

-T <文本>

设置HTML表格标记选项(width,border等);功能与“-P tableattr=<text>”相同

-U <用户名>

指定数据库用户(默认为$PGUSER或者当前登录的用户名)

-v name=value

设置psql变量name的值为value

--version

显示版本信息然后退出,也可以用“-V”

-W

强制提示输入密码(如果需要密码,会自动执行)

-x

开启扩展表格输出;功能与“-P expanded”相同

-X

不读取启动文件(~/.psqlrc)

psql内部命令快速参考

psql支持的内部命令在表1-2中列出。在很多版本的PostgreSQL中,这些命令有一些更易读的长模式(例如\list就是\l的长模式命令)。

表1-1 psql命令行选项

命令

意义

\?

列出所有的psql内部命令

\a

在表格对齐和非对齐模式之间切换。

\c[onnect] [dbname|- [user]]

连接到新的数据库;使用“-”作为数据库名指连接到默认数据库。可以user身份连接数据库

\C <标题>

设置输出表格的标题;功能与“\pset 标题”相同

\cd <目录>

改变工作目录

\copy …

Perform SQL COPY with data stream to the client machine.

\copyright

显示PostgreSQL的使用和发布条款

\d <表>

描述表(或者视图、索引、序列生成器)

\d{t|i|s|v}

列出表/索引/序列生成器/视图

\d{p|S|l}

列出访问许可/系统表/大对象

\da

列出聚合体(aggregates)

\db

列出表空间

\dc

列出conversions

\dC

列出casts

\dd [对象]

列出表、类型、函数或者操作的注释

\dD

列出domains

\df

列出函数(自定义函数???)需要验证

\dg

列出groups

\dl

列出大对象;也可以写作“\lo_list”

\dn

列出模式

\do

列出operators

\dT

列出数据类型

\du

列出用户

\e [file]

使用外部编辑器编辑当前的查询缓冲区或者file指定的文件

\echo <文本>

将文本打印到标准输出

\encoding <编码>

设置客户端编码

\f <分隔符>

修改输出字段的分隔符

\g [文件名]

将查询的结果发送到后端(结果输出到文件或者|管道)

\h [命令]

显示SQL命令的帮助;*表示所有命令的详细说明

\H

开启HTML模式

\i <文件名>

从文件中读取并执行查询

\l

列出所有的数据库

\lo_export,\lo_import,

\lo_list,\lo_unlink

执行大对象操作

\o [文件名]

将所有的查询结果发送到文件或者|管道

\p

显示当前查询缓冲区的内容

\pset <选项>

设置表输出选项,可设置的选项可以是以下中的一个:format,border,expanded,fieldsep,footer,null,recordsep,tuples_only,title,tableattr,pager

\q

退出psql

\qecho <文本>

将文本写入到查询输出流(参考\o命令)

\r

重置(清空)查询缓冲区

\s [文件名]

打印历史或将历史存入文件中

\set <变量> <值>

设置内部变量

\t

只显示行(在该模式之间切换)

\T <标记>

设置HTML表格的标记;功能和“\pset tableattr”相同

\timing

显示命令执行的时间(在显示和不显示这两种模式间切换)

\z

列出对表、视图和序列生成器的访问许可

\! [命令]

切换到shell或者执行一个shell命令

psql命令行快速参考的更多相关文章

  1. mysql 命令行快速将数据库转移到另一个服务器中(数据库备份还原)

    想将A服务器中的数据库快速转移到B服务器中,一般是先从A服务器中备份下来,下载备份数据,还原到B服务器中.使用phpMyAdmin备份和还原针对数据量很小的情况下很方便,数据量大的话很容易中断失败. ...

  2. 【PHP实现】高效使用印象笔记之命令行快速保存

    一.功能 脑袋中冒出一个想法时,命令行(Terminal)中输入一条命令快速保存到Evernote. 注:这里适用于保存简短的内容 不喜欢听絮叨的,直接文末找Github地址吧. 二.想法来源 一直使 ...

  3. psql 命令行使用

    如果觉得直接打开数据库修改繁琐,那么使用终端命令行是方便而又高大上的.下面来看看有哪些命令行: 说明:如果是正式的服务器则需要进行一个操作在执行下面的命令 ssh name @主机地址 -- name ...

  4. 使用Maven命令行快速创建项目骨架(archetype)

      > mvn archetype:generate 接下来就会输出一些列带索引变化的archetype项可供我们选择,然后提示我们选择一个编号,可以直接回车选择默认的编号(392),然后就跟着 ...

  5. Mac 在命令行快速切换目录 mark

    转自: http://www.ccvita.com/520.html ,略修改. 每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/di ...

  6. shell命令行快速编辑命令

    ctrl r:命令行出现 reverse-i-search,输入字符将在输入历史中匹配命令 ctrl p:向前翻看历史 ctrl n:向后翻看历史 ctrl a:命令行首 ctrl e:命令行尾 ct ...

  7. linux命令行—《命令行快速入门》

    pwd print working directory 打印工作目录 hostname my computer's network name 电脑在网络中的名称 mkdir make director ...

  8. windows命令行快速启动软件

    windows桌面上太多的应用程序快捷方式很影响美观,于是寻思使用类似Linux系统中命令行的方式来启动软件. 只需要3步: 1.建立一个目录A,用来存放快捷方式.比如,建立D:\path.并复制快捷 ...

  9. centos 宝塔 使用命令行快速导入数据库sql

    先将sql文件上传到服务器,例如上传到www文件夹 然后打开命令行工具 输入 mysql -u 数据库用户名 -p 然后复制密码进去 然后输入 use 数据库名 回车 然后输入 source /www ...

随机推荐

  1. 培训补坑(day1:最短路&two-sat)

    经过12天的滚粗,终于迎来了暑期培训的结尾啦QAQ 结业考才考了90分,真是对不起孙爷(孙爷请收下我的膝盖) orz小粉兔怒D rank 1 获得小粉兔一只QAQ 由于这次12天的培训题目又比较多,算 ...

  2. 如何防止Android反编译

    转自: http://my.eoe.cn/sandking/archive/19772.html http://www.cnblogs.com/zdz8207/archive/2012/01/28/d ...

  3. studio构建错误Element uses-permission#android.permission.ACCESS_NETWORK_STATE at AndroidManifest.xml:38:5-79 dupli

    今天在项目构建的时候遇到了如下报错: Element uses-permission#android.permission.ACCESS_NETWORK_STATE at AndroidManifes ...

  4. Apache开启PHP的伪静态模式

    首先,什么是伪静态: 伪静态又名URL重写,是动态的网址看起来像静态的网址.换句话说就是,动态网页通过重写 URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 1. ...

  5. Jquery学习之路(一) 实现checkbox全选方法

    昨天早上有写到怎么利用Jquery实现全选 根据大家的意见对程序中一些写法不好的地方进行了修改,也是本人水平有限,存在各种考虑不到的地方. 文章最后我提出了一个问题,要写一个通用的方法来调用,于是就有 ...

  6. Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)

    一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层 ...

  7. HDU 2544.最短路-最短路(Dijkstra)

    本来不想写,但是脑子不好使,还是写一下备忘_(:з」∠)_ 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/3276 ...

  8. (20)C#泛型

    泛型的定义:通过参数化类型来实现在同一份代码上操作多种数据类型.泛型编程时一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用. 优点: 1.省去了拆箱.装箱 2.提高安全性 3. ...

  9. UVALive(LA) 3644 X-Plosives (并查集)

    题意: 有一些简单化合物,每个化合物都由两种元素组成的,你是一个装箱工人.从实验员那里按照顺序把一些简单化合物装到车上,但这里存在安全隐患:如果车上存在K个简单化合物,正好包含K种元素,那么他们就会组 ...

  10. Ansible 删除多个文件或目录

    翻译和转载该网页内容 http://www.mydailytutorials.com/ansible-delete-multiple-files-directories-ansible/ 背景 ans ...