且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《PostgreSQL服务器编程》一一1.2 关于本书的代码示例

更新时间:2022-10-02 18:58:03

本节书摘来自华章计算机《PostgreSQL服务器编程》一书中的第1章,第1.2节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著
,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 关于本书的代码示例

这里输出显示的示例都是使用PostgreSQL的psql工具创建的,psql工具通常是在Linux系统上运行的。如果你使用一个GUI工具(比如pgAdmin3)去访问服务器,绝大多数的代码同样是生效的。当你看见以下的代码行时:
《PostgreSQL服务器编程》一一1.2 关于本书的代码示例

postgres=#部分是psql命令显示的提示。
本书中的例子已经在PostgreSQL 9.2中测试通过,它们应该可以在PostgreSQL 8.3或更高版本中运行。相比PostgreSQL最近几个版本上的服务器程序设计,其实并没有发生多少根本性的改变。但PostgreSQL语法变得越来越严谨了,从而降低了服务器开发代码中错误的概率。鉴于这些改变本身,新版本上的大多数代码依然可以在老版本上运行,除非代码中使用了非常新的特性。然而,由于最近强化的一些限制,老版本的代码很容易出现运行失败的状况。
切换到扩展显示
当使用psql工具执行查询的时候,PostgreSQL通常使用竖直对齐的列的形式,输出结果:
《PostgreSQL服务器编程》一一1.2 关于本书的代码示例

当你看到一个输出时,你可以辨别出它是否属于一个规则的输出,因为这个输出会以行数显示结束。
这类输出较难融入到像本书这样的文本中。而通过调用扩展显示,输出结果便可以轻松显示出来。这种方式将每一列拆分到隔离的行中。你可以通过-x命令行或者发送x到psql程序来切换到扩展显示模式。下面是两种方法的例子:
《PostgreSQL服务器编程》一一1.2 关于本书的代码示例

请注意,扩展输出并没有显示行数,而是统计了每个输出的行数。为了节省空间,本书中并不是所有例子都会显示扩展输出。如果你看到rows或RECORD,便可识别你看到的是哪种类型。在一般情况下,这种扩展模式是比较受欢迎的,只是查询的输出太长,超出的本书的版面宽度。