一、建立连接

        psql -h hostname -p port -U username -d dbname


-d dbname--dbname=dbname

指定要连接的数据库的名称


-h hostname--host=hostname

指定运行服务器的机器的主机名


-p port--port=port

指定服务器用于监听连接的 TCP 端口或者本地 Unix 域套接字文件扩展,如果没有设置,则默认为编译时指定的端口号(通常是5432)


-U username--username=username

指定连接的用户名


        将上述参数替换成自己的连接参数后,按回车键会提示输入口令, 此时输入密码后按回车键就可以建立连接了。

二、操作数据库

        psql命令的格式是用反斜线后面直接跟上一个命令动词,然后是一些参数。参数与命令动词和其他参数之间用任意多个空白字符分隔开。

1、打印当前工作目录: \! pwd

2、列出数据库信息:\l[+] [  pattern ]

      列出服务器中的数据库并且显示它们的名称、拥有者、字符集编码以及访问特权。如果指定了pattern,则只列出名称匹配该模式的数据库。如果向命令名称追加+,则还会显示数据库的尺寸、默认表空间以及描述(尺寸信息只对当前用户能连接的数据库可用)。

3、切换数据库: \c dbname

4、列出 schema:\dn[S+]  [ pattern ]

      如果指定了pattern,只列出名称匹配该模式的模式。默认情况下只会显示用户创建的对象,提供一个模式或者S修饰符可以把系统对象包括在内。如果向命令名称追加+,每个对象会与它相关的权限及描述(如果有)一起被列出。

5、 \dE[S+] [ pattern ]
\di[S+] [ pattern ]
\dm[S+] [ pattern ]
\ds[S+] [ pattern ]
\dt[S+] [ pattern ]
\dv[S+] [ pattern ]

      在这一组命令中,字母Eimstv分别对应着外部表、索引、物化视图、序列、表和视图。你可以以任何顺序指定这些字母中的任意一个或者多个,这样可以得到这些类型的对象的列表。例如,\dit会列出索引和表。如果在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。如果指定了pattern,只列出名称匹配该模式的对象。默认情况下只会显示用户创建的对象,提供一个模式或者S修饰符可以把系统对象包括在内。

6、列出 schema下的表:\dt  schema_name.*

     包含一个点号(.)的模式被解释为一个 schema 名称模式后面跟上一个对象名称模式。例如,\dt foo*.*bar*会显示名称以foo开始的 schema 中所有名称包括bar的表。如果没有出现点号,那么模式将只匹配当前 schema 搜索路径中可见的对象。同样,双引号内的点号会失去其特殊含义并且变成普通的字符。

7、\! [ command ]

     如果没有参数,就跳出到一个子shell,当子shell退出时psql会继续。如果有一个参数,则执行shell命令command

     与大部分其他元命令不同,该行的所有剩余部分总是会被当做\!的参数,并且在参数中不会执行变量篡改以及反引号展开。该行的剩余部分会被简单地按字面传递给shell。

8、\q or \quit

    退出psql程序。在一个脚本文件中,只有该脚本的执行会被终止。