At update of non-LP_NORMAL TID, fail instead of corrupting page header.
[pgsql.git] / doc / src / sgml / intro.sgml
blobfec72481b54c732d6faef26a1b5b647cd895b944
1 <!-- doc/src/sgml/intro.sgml -->
3 <preface id="preface">
4 <title>Preface</title>
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>
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:
23 <itemizedlist>
24 <listitem>
25 <para>
26 <xref linkend="tutorial"/> is an informal introduction for new users.
27 </para>
28 </listitem>
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>
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>
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>
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>
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>
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>
84 <sect1 id="intro-whatis">
85 <title> What Is <productname>PostgreSQL</productname>?</title>
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>
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:
102 <itemizedlist spacing="compact">
103 <listitem>
104 <simpara><link linkend="sql">complex queries</link></simpara>
105 </listitem>
106 <listitem>
107 <simpara><link linkend="ddl-constraints-fk">foreign keys</link></simpara>
108 </listitem>
109 <listitem>
110 <simpara><link linkend="triggers">triggers</link></simpara>
111 </listitem>
112 <listitem>
113 <simpara><link linkend="sql-createview-updatable-views">updatable views</link></simpara>
114 </listitem>
115 <listitem>
116 <simpara><link linkend="transaction-iso">transactional integrity</link></simpara>
117 </listitem>
118 <listitem>
119 <simpara><link linkend="mvcc">multiversion concurrency control</link></simpara>
120 </listitem>
121 </itemizedlist>
123 Also, <productname>PostgreSQL</productname> can be extended by the
124 user in many ways, for example by adding new
126 <itemizedlist spacing="compact">
127 <listitem>
128 <simpara><link linkend="datatype">data types</link></simpara>
129 </listitem>
130 <listitem>
131 <simpara><link linkend="functions">functions</link></simpara>
132 </listitem>
133 <listitem>
134 <simpara><link linkend="functions">operators</link></simpara>
135 </listitem>
136 <listitem>
137 <simpara><link linkend="functions-aggregate">aggregate functions</link></simpara>
138 </listitem>
139 <listitem>
140 <simpara><link linkend="indexes">index methods</link></simpara>
141 </listitem>
142 <listitem>
143 <simpara><link linkend="server-programming">procedural languages</link></simpara>
144 </listitem>
145 </itemizedlist>
146 </para>
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>
156 &history;
157 &notation;
158 &info;
159 &problems;
161 </preface>