blob: 10eebfaeba2dadf6a9691eb7bf6a6f161e3edf13 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/programmer.sgml,v 1.43 2002/10/24 17:48:54 petere Exp $
PostgreSQL Programmer's Guide.
-->
<book id="programmer">
<title>PostgreSQL &version; Programmer's Guide</title>
<bookinfo>
<corpauthor>The PostgreSQL Global Development Group</corpauthor>
&legal;
</bookinfo>
<preface id="programmer-preface">
<title>Preface</title>
<![%single-book;[
&intro;
&history;
]]>
<sect1 id="programmer-preface-thisbook">
<title>What's In This Book</title>
<para>
This book is for PostgreSQL application programmers. It is divided into three parts.
</para>
<para>
The first part of this book describes the client programming
interfaces distributed with PostgreSQL. Each of these chapters
can be read independently. Note that there are many other
programming interfaces for client programs that are distributed
separately and contain their own documentation. Readers of the
first part should be familiar with using SQL commands to
manipulate and query the database (see the &cite-user;) and of
course with the programming language that the interface uses.
</para>
<para>
The second part of this book is about extending the server
functionality with user-defined functions, data types, triggers,
etc. These are advanced topics which should probably be
approached only after all the other user documentation about
PostgreSQL has been understood.
</para>
<para>
The third part of this book described the available server-side
programming languages. This information is related to the second
part and is only useful to readers that have read at least the
first few chapters thereof.
</para>
<para>
This book covers <productname>PostgreSQL &version;</productname>
only. For information on other versions, please read the
documentation that accompanies that release.
</para>
</sect1>
<![%single-book[
&info;
¬ation;
&problems;
]]>
</preface>
<part id="programmer-client">
<title>Client Interfaces</title>
<partintro>
<para>
This part of the manual is the description of the client-side
programming interfaces and support libraries for various
languages.
</para>
</partintro>
&libpq;
&lobj;
&libpgtcl;
&ecpg;
&jdbc;
&pygresql;
</part>
<part id="programmer-server">
<title>Server Programming</title>
<partintro>
<para>
This second part of the manual explains the
<productname>PostgreSQL</productname> approach to extensibility
and describe how users can extend
<productname>PostgreSQL</productname> by adding user-defined
types, operators, aggregates, and both query language and
programming language functions. After a discussion of the
<productname>PostgreSQL</productname> rule system, we discuss the
trigger and SPI interfaces.
</para>
</partintro>
&arch-pg;
&extend;
&xfunc;
&xtypes;
&xoper;
&xaggr;
&rules;
&xindex;
&indexcost;
&trigger;
&spi;
</part>
<part id="programmer-pl">
<title>Procedural Languages</title>
<partintro>
<para>
This part documents the procedural languages available in the
<productname>PostgreSQL</productname> distribution as well as
general issues concerning procedural languages.
</para>
</partintro>
&xplang;
&plsql;
&pltcl;
&plperl;
&plpython;
</part>
<![%single-book;[
&biblio;
&bookindex;
]]>
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
|