PostgreSQL数据库管理入门之psql工具篇

数据库 PostgreSQL
psql是PostgreSQL自身提供的一款强大的查询和脚本工具,本文将向读者介绍该工具的入门知识。

psql是PostgreSQL自身提供的一款强大的查询和脚本工具,本文将向读者介绍该工具的入门知识。

一、关于psql

psql是PostgreSQL自身提供的一款查询工具,也就是说,无论哪种操作系统平台下,该工具都可用,并且使用方法都是一致的。所以,当我们开发可移植的应用软件和技术的时候,该工具是一个理想的选择。

Psql有两大功能,除了作为交互查询工具使用之外,psql还是一款理想的脚本工具。

#p#

二、使用方法

本文中,我们假设psql有权访问PostgreSQL服务器,所有连接参数都是缺省的,但是现实中并非总是这样。我们当前的连接参数如下所示:

  1. psql –h hostname –p 5432 –d dbname –U username –W

下面开始介绍有关的具体操作。psql 最简单的用法就是执行单个SQL命令,并输出命令结果,如下所示:

  1. $ psql -c "SELECT current_time"
  2. timetz
  3. -----------------
  4. 20:48:62.384+01
  5. (1 row)

带 -c的命令表示为非交互式的。如果您想一次执行多条命令的话,可以将这些命令写入一个文本文件中,然后通过-f 选项来执行它们。下面给出的命令将加载一组命令:

  1. $ psql –f examples.sql

如果执行成功,会产生如下所示的输出:

  1. SET
  2. SET
  3. SET
  4. SET
  5. SET
  6. SET
  7. CREATE SCHEMA
  8. SET
  9. SET
  10. SET
  11. DROP TABLE
  12. CREATE TABLE
  13. DROP TABLE
  14. CREATE TABLE

 脚本examples.sql非常类似于PostgreSQL备份工具所建立的转储文件,并且它们的类型与结果也是非常相通的。当上面的命令成功执行的时候,PostgreSQL会用命令的名称生成命令标签,就像上面看到的输出结果那样。

上面的用法类似于批处理方式,实际上psql还可以用于交互方式,并且该方式是默认的工作方式,无需任何选项,例如:

  1. $ psql
  2. postgres=#

下面我们开始练习我们的第一条交互式命令,像下面这样:

  1. postgres=# help

 然后,我们就可以输入SQL或其他的命令了。当我们要退出交互模式的时候,可以使用如下所示的命令:

  1. postgres=# \quit

注意,这里您不能输入quit,也不能输入\exit或者其他选项,而只能是\quit或者\q,后者是前者的简写形式。

#p#

三、命令类型

psql允许使用两种类型的命令:

psql "meta-commands"

SQL

meta-command 是用于psql客户端,而SQL则发给数据库服务器。meta-command的一个例子是\q,它命令客户端断开连接。所有以反斜线符号\开头的命令都被作为meta-command。

如果一条命令不是meta-command,那么它就是SQL命令。该命令将一直读取SQL,直到遇见分号为止,所以我们可以将一条较长的SQL命令分到多行中,只要您觉得方便即可。

命令help是唯一的例外。help命令有两种形式,如下所示:

\? 提供psql meta - commands命令的帮助信息

\h 提供特定SQL命令的帮助信息

下面举例进行说明:

  1. postgres=# \h DELETE
  2. Command: DELETE
  3. Description: delete rows of a table
  4. Syntax:
  5. DELETE FROM [ ONLY ] table [ [ AS ] alias ]
  6. [ USING usinglist ]
  7. [ WHERE condition | WHERE CURRENT OF cursor_name ]
  8. [ RETURNING * | output_expression [ AS output_name ] [,]]

经验表明,这是一种探索和记忆选项和语法好方法。

#p#

四、注释方法

有两种常用的注释方法,即单行注释和多行注释,下面分别加以解释。单行注释用双破折号表示:

  1.  -- 这里是单行注释

 而多行注释与Java语法类似,如下:

  1. /**//*
  2. *多行注释
  3. */

#p#

五、其它功能

开始的时候,您对于psql的反斜扛命令可能不太适应,但是用一段时间就好了,您会发现,该软件是非常强大的。psql是PostgreSQL最神奇的部分之一,用过其他工具后您会发现,它对于数据库管理任务来说,作用非凡。

当然,我们可回滚早先的命令历史记录功能。此外,tab补齐功能也是非常有帮助的,因为只要按下TAB键,程序就会帮我们完成后面的语法部分。该功能对于对象名称也同样有效,所以我们只输入前几个字母,然后按Tab键所有可能的选择都会显示出来,这样只要输入足够多的字符,对象名称就会变成唯一选择,这时敲一下Tab键就搞定了。下面是psql其它的有用的特性:

通知功能

输出格式化

使用\timing命令计算执行时间

输入、输出和编辑命令

自动起动执行文件:.psqlrc

可替代的参数(变量)

访问OS命令行

六、小结

psql是PostgreSQL自身提供的一款强大的查询和脚本工具,在本文中,我们向读者详细介绍了该工具的有关入门知识,希望对您能够有所帮助。

【编辑推荐】

  1. 惠普和微软携手推出多种商业智能应用服务
  2. 云数据库时代来临,引发数据库行业地震
  3. 从Dynamo和Bigtable窥探NoSQL家族族谱
  4. 5款主流开源企业级数据库选型纵览
责任编辑:艾婧 来源: it168网站原创
相关推荐

2011-03-24 14:40:29

PostgreSQL数管理

2019-11-20 09:08:46

PostgreSQL数据库

2023-12-19 09:36:35

PostgreSQL数据库开源

2019-10-12 15:06:02

MySQL数据库命令

2011-04-13 09:53:20

2011-03-07 09:52:49

PSQL MySQL 开源数据库

2009-09-23 11:37:31

Hibernate S

2024-01-18 08:00:00

PostgreSQLPgvector

2024-09-10 08:00:00

PostgreSQL数据库

2024-07-31 15:39:00

2023-12-13 11:23:15

2020-12-21 09:40:16

数据库工具技术

2018-07-24 09:38:35

JavaMySQLJDBC

2011-03-25 11:01:33

算法数据库

2011-03-25 09:09:29

算法数据库

2009-06-30 14:59:36

连接数据库JSP入门

2011-03-25 09:29:03

算法数据库

2024-03-04 10:48:15

PostgreSQL数据库

2018-01-15 16:57:18

MySQLOraclePostgreSQL

2024-10-12 09:12:26

点赞
收藏

51CTO技术栈公众号