1<!-- doc/src/sgml/intro.sgml -->
2
3<preface id="preface">
4 <title>Preface</title>
5
6 <para>
7  This book is the official documentation of
8  <productname>PostgreSQL</productname>.  It has been written by the
9  <productname>PostgreSQL</productname> developers and other
10  volunteers in parallel to the development of the
11  <productname>PostgreSQL</productname> software.  It describes all
12  the functionality that the current version of
13  <productname>PostgreSQL</productname> officially supports.
14 </para>
15
16 <para>
17  To make the large amount of information about
18  <productname>PostgreSQL</productname> manageable, this book has been
19  organized in several parts.  Each part is targeted at a different
20  class of users, or at users in different stages of their
21  <productname>PostgreSQL</productname> experience:
22
23  <itemizedlist>
24   <listitem>
25    <para>
26     <xref linkend="tutorial"/> is an informal introduction for new users.
27    </para>
28   </listitem>
29
30   <listitem>
31    <para>
32     <xref linkend="sql"/> documents the <acronym>SQL</acronym> query
33     language environment, including data types and functions, as well
34     as user-level performance tuning.  Every
35     <productname>PostgreSQL</productname> user should read this.
36    </para>
37   </listitem>
38
39   <listitem>
40    <para>
41     <xref linkend="admin"/> describes the installation and
42     administration of the server.  Everyone who runs a
43     <productname>PostgreSQL</productname> server, be it for private
44     use or for others, should read this part.
45    </para>
46   </listitem>
47
48   <listitem>
49    <para>
50     <xref linkend="client-interfaces"/> describes the programming
51     interfaces for <productname>PostgreSQL</productname> client
52     programs.
53    </para>
54   </listitem>
55
56
57   <listitem>
58    <para>
59     <xref linkend="server-programming"/> contains information for
60     advanced users about the extensibility capabilities of the
61     server.  Topics include user-defined data types and
62     functions.
63    </para>
64   </listitem>
65
66   <listitem>
67    <para>
68     <xref linkend="reference"/> contains reference information about
69     SQL commands, client and server programs.  This part supports
70     the other parts with structured information sorted by command or
71     program.
72    </para>
73   </listitem>
74
75   <listitem>
76    <para>
77     <xref linkend="internals"/> contains assorted information that might be of
78     use to <productname>PostgreSQL</productname> developers.
79    </para>
80   </listitem>
81  </itemizedlist>
82 </para>
83
84 <sect1 id="intro-whatis">
85  <title> What Is <productname>PostgreSQL</productname>?</title>
86
87  <para>
88   <productname>PostgreSQL</productname> is an object-relational
89   database management system (<acronym>ORDBMS</acronym>) based on
90   <ulink url="https://dsf.berkeley.edu/postgres.html">
91   <productname>POSTGRES, Version 4.2</productname></ulink>,
92   developed at the University of California at Berkeley Computer Science
93   Department.  POSTGRES pioneered many concepts that only became
94   available in some commercial database systems much later.
95  </para>
96
97  <para>
98   <productname>PostgreSQL</productname> is an open-source descendant
99   of this original Berkeley code.  It supports a large part of the SQL
100   standard and offers many modern features:
101
102   <itemizedlist spacing="compact">
103    <listitem>
104     <simpara>complex queries</simpara>
105    </listitem>
106    <listitem>
107     <simpara>foreign keys</simpara>
108    </listitem>
109    <listitem>
110     <simpara>triggers</simpara>
111    </listitem>
112    <listitem>
113     <simpara>updatable views</simpara>
114    </listitem>
115    <listitem>
116     <simpara>transactional integrity</simpara>
117    </listitem>
118    <listitem>
119     <simpara>multiversion concurrency control</simpara>
120    </listitem>
121   </itemizedlist>
122
123   Also, <productname>PostgreSQL</productname> can be extended by the
124   user in many ways, for example by adding new
125
126   <itemizedlist spacing="compact">
127    <listitem>
128     <simpara>data types</simpara>
129    </listitem>
130    <listitem>
131     <simpara>functions</simpara>
132    </listitem>
133    <listitem>
134     <simpara>operators</simpara>
135    </listitem>
136    <listitem>
137     <simpara>aggregate functions</simpara>
138    </listitem>
139    <listitem>
140     <simpara>index methods</simpara>
141    </listitem>
142    <listitem>
143     <simpara>procedural languages</simpara>
144    </listitem>
145   </itemizedlist>
146  </para>
147
148  <para>
149   And because of the liberal license,
150   <productname>PostgreSQL</productname> can be used, modified, and
151   distributed by anyone free of charge for any purpose, be it
152   private, commercial, or academic.
153  </para>
154 </sect1>
155
156 &history;
157 &notation;
158 &info;
159 &problems;
160
161</preface>
162