summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/intro.sgml
blob: 63eda059f0c9daf52b2ccd5cc4aa23952fa350bb (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
159
160
161
<!-- doc/src/sgml/intro.sgml -->

<preface id="preface">
 <title>Preface</title>

 <para>
  This book is the official documentation of
  <productname>PostgreSQL</productname>.  It has been written by the
  <productname>PostgreSQL</productname> developers and other
  volunteers in parallel to the development of the
  <productname>PostgreSQL</productname> software.  It describes all
  the functionality that the current version of
  <productname>PostgreSQL</productname> officially supports.
 </para>

 <para>
  To make the large amount of information about
  <productname>PostgreSQL</productname> manageable, this book has been
  organized in several parts.  Each part is targeted at a different
  class of users, or at users in different stages of their
  <productname>PostgreSQL</productname> experience:

  <itemizedlist>
   <listitem>
    <para>
     <xref linkend="tutorial"/> is an informal introduction for new users.
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="sql"/> documents the <acronym>SQL</acronym> query
     language environment, including data types and functions, as well
     as user-level performance tuning.  Every
     <productname>PostgreSQL</productname> user should read this.
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="admin"/> describes the installation and
     administration of the server.  Everyone who runs a
     <productname>PostgreSQL</productname> server, be it for private
     use or for others, should read this part.
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="client-interfaces"/> describes the programming
     interfaces for <productname>PostgreSQL</productname> client
     programs.
    </para>
   </listitem>


   <listitem>
    <para>
     <xref linkend="server-programming"/> contains information for
     advanced users about the extensibility capabilities of the
     server.  Topics include user-defined data types and
     functions.
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="reference"/> contains reference information about
     SQL commands, client and server programs.  This part supports
     the other parts with structured information sorted by command or
     program.
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="internals"/> contains assorted information that might be of
     use to <productname>PostgreSQL</productname> developers.
    </para>
   </listitem>
  </itemizedlist>
 </para>

 <sect1 id="intro-whatis">
  <title> What Is <productname>PostgreSQL</productname>?</title>

  <para>
   <productname>PostgreSQL</productname> is an object-relational
   database management system (<acronym>ORDBMS</acronym>) based on
   <ulink url="https://dsf.berkeley.edu/postgres.html">
   <productname>POSTGRES, Version 4.2</productname></ulink>,
   developed at the University of California at Berkeley Computer Science
   Department.  POSTGRES pioneered many concepts that only became
   available in some commercial database systems much later.
  </para>

  <para>
   <productname>PostgreSQL</productname> is an open-source descendant
   of this original Berkeley code.  It supports a large part of the SQL
   standard and offers many modern features:

   <itemizedlist spacing="compact">
    <listitem>
     <simpara>complex queries</simpara>
    </listitem>
    <listitem>
     <simpara>foreign keys</simpara>
    </listitem>
    <listitem>
     <simpara>triggers</simpara>
    </listitem>
    <listitem>
     <simpara>updatable views</simpara>
    </listitem>
    <listitem>
     <simpara>transactional integrity</simpara>
    </listitem>
    <listitem>
     <simpara>multiversion concurrency control</simpara>
    </listitem>
   </itemizedlist>

   Also, <productname>PostgreSQL</productname> can be extended by the
   user in many ways, for example by adding new

   <itemizedlist spacing="compact">
    <listitem>
     <simpara>data types</simpara>
    </listitem>
    <listitem>
     <simpara>functions</simpara>
    </listitem>
    <listitem>
     <simpara>operators</simpara>
    </listitem>
    <listitem>
     <simpara>aggregate functions</simpara>
    </listitem>
    <listitem>
     <simpara>index methods</simpara>
    </listitem>
    <listitem>
     <simpara>procedural languages</simpara>
    </listitem>
   </itemizedlist>
  </para>

  <para>
   And because of the liberal license,
   <productname>PostgreSQL</productname> can be used, modified, and
   distributed by anyone free of charge for any purpose, be it
   private, commercial, or academic.
  </para>
 </sect1>

 &history;
 &notation;
 &info;
 &problems;

</preface>