Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 8d5f3c8

Browse files
committed
Improvements to Maintenance and External Projects documentation.
Joshua D. Drake Robert Treat
1 parent ffb62be commit 8d5f3c8

File tree

2 files changed

+82
-98
lines changed

2 files changed

+82
-98
lines changed

doc/src/sgml/external-projects.sgml

Lines changed: 48 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,34 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.10 2006/03/10 19:10:47 momjian Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.11 2006/08/01 00:09:06 momjian Exp $ -->
22

33
<appendix id="external-projects">
4-
<title>External Projects</title>
4+
<title>PgFoundry and External Projects</title>
55

66
<para>
77
<productname>PostgreSQL</productname> is a complex software project,
8-
and managing it is difficult. We have found that many
8+
and managing the project is difficult. We have found that many
99
enhancements to <productname>PostgreSQL</productname> can be more
10-
efficiently developed separately from the core project. Separate
11-
projects can
12-
have their own developer teams, email lists, bug tracking,
13-
and release schedules. While their independence makes
14-
development easier, it makes users' jobs harder. They have to hunt
15-
around looking for database enhancements to meet their needs.
16-
This section describes some of the more popular externally
17-
developed enhancements and guides you on how to find them.
10+
efficiently developed separately from the core project.
11+
</para>
12+
13+
<para>
14+
To help our community with the development of their external projects,
15+
we have created the <ulink url="http://www.pgfoundry.org/">PgFoundry</ulink>.
16+
<ulink url="http://www.pgfoundry.org/">PgFoundry</ulink> is built using the
17+
GForge software project and is similar to SourceForge in its feature set. If
18+
you have a PostgreSQL related Open Source project that you would like to
19+
develop and need project management resources such as mailing lists, forums,
20+
bug tracking, and CVS, please feel free to create a new project.
1821
</para>
1922

2023
<para>
21-
Many <productname>PostgreSQL</productname>-related projects are
22-
hosted at either
23-
<ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>
24-
or <ulink url="http://pgfoundry.org"><productname>pgFoundry</></ulink>.
25-
There are other <productname>PostgreSQL</productname>-related projects that are hosted
26-
elsewhere, but you will have to do an Internet search to find them.
24+
Secondly, many <productname>PostgreSQL</productname>-related projects are
25+
still hosted at <ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>.
26+
GBorg is the original external community developer site, and while it is
27+
currently closed to new projects in favor of PgFoundry, it still contains
28+
many active and relevant projects. There are other popular <productname>PostgreSQL</productname>
29+
related projects that are hosted independently as well at other community
30+
sites such as <ulink url="http://www.sf.net">SourceForge</ulink>. You should
31+
google if you don't find the project you are looking for.
2732
</para>
2833

2934
<sect1 id="external-interfaces">
@@ -36,11 +41,10 @@
3641
<para>
3742
<productname>PostgreSQL</productname> includes very few interfaces
3843
with the base distribution. <application>libpq</> is packaged because
39-
it is the primary <application>C</> interface and many other
40-
interfaces are built on top of it. <application>ecpg</> is packaged
41-
because it is tied to the server-side grammar so is very dependent
42-
on the database version. All the other interfaces are independent
43-
projects and must be installed separately.
44+
it is the primary dependecy of most interfaces available to PostgreSQL.
45+
We also package <application>ecpg</> because it is tied to the
46+
server-side grammar. All other interfaces, such as PHP, Perl, Python,
47+
and Ruby, are external projects.
4448
</para>
4549

4650
<para>
@@ -52,64 +56,57 @@
5256
<listitem>
5357
<para>
5458
This is the most common interface for <application>Windows</>
55-
applications.
56-
</para>
57-
</listitem>
58-
</varlistentry>
59-
60-
<varlistentry>
61-
<term>pgjdbc</term>
62-
<listitem>
63-
<para>
64-
A <application>JDBC</> interface.
59+
applications. <ulink url="http://odbc.postgresql.org/">Website.</ulink>
6560
</para>
6661
</listitem>
6762
</varlistentry>
6863

6964
<varlistentry>
70-
<term>Npgsql</term>
65+
<term>ODBCng</term>
7166
<listitem>
7267
<para>
73-
<application>.Net</> interface for more recent
74-
<application>Windows</> applications.
68+
Another ODBC driver for PostgreSQL.
69+
<ulink url="http://projects.commandprompt.com/public/odbcng/">Website.</ulink>
7570
</para>
7671
</listitem>
7772
</varlistentry>
7873

7974
<varlistentry>
80-
<term>libpqxx</term>
75+
<term>pgjdbc</term>
8176
<listitem>
8277
<para>
83-
A newer <application>C++</> interface.
78+
A <application>JDBC</> interface.
79+
<ulink url="http://jdbc.postgresql.org/">Website.</ulink>
8480
</para>
8581
</listitem>
8682
</varlistentry>
8783

8884
<varlistentry>
89-
<term>libpq++</term>
85+
<term>Npgsql</term>
9086
<listitem>
9187
<para>
92-
An older <application>C++</> interface.
88+
<application>.Net</> interface for more recent <application>mono/C#</> applications.
89+
<ulink url="http://pgfoundry.org/projects/npgsql/">Website.</ulink>
9390
</para>
9491
</listitem>
9592
</varlistentry>
9693

9794
<varlistentry>
98-
<term>pgperl</term>
95+
<term>libpqxx</term>
9996
<listitem>
10097
<para>
101-
A <application>Perl</> interface with an <acronym>API</> similar
102-
to <application>libpq</>.
98+
A newer <application>C++</> interface.
99+
<ulink url="http://thaiopensource.org/development/libpqxx/">Website.</ulink>
103100
</para>
104101
</listitem>
105102
</varlistentry>
106103

107104
<varlistentry>
108-
<term>DBD-Pg</term>
105+
<term>DBD::Pg</term>
109106
<listitem>
110107
<para>
111-
A <application>Perl</> interface that uses the
112-
<acronym>DBD</>-standard <application>API</>.
108+
A <application>Perl</> DBI driver for PostgreSQL.
109+
<ulink url="http://search.cpan.org/dist/DBD-Pg/">Website.</ulink>
113110
</para>
114111
</listitem>
115112
</varlistentry>
@@ -119,33 +116,21 @@
119116
<listitem>
120117
<para>
121118
A newer version of the <application>Tcl</> interface.
119+
<ulink url="http://gborg.postgresql.org/project/pgtclng/projdisplay.php">Website.</ulink>
122120
</para>
123121
</listitem>
124122
</varlistentry>
125123

126124
<varlistentry>
127-
<term>pgtcl</term>
128-
<listitem>
129-
<para>
130-
The original version of the <application>Tcl</> interface.
131-
</para>
132-
</listitem>
133-
</varlistentry>
134-
135-
<varlistentry>
136-
<term>PyGreSQL</term>
125+
<term>Pyscopg</term>
137126
<listitem>
138127
<para>
139-
A <application>Python</> interface library.
128+
A <application>Python</> interface library that is DB API 2.0 compliant.
129+
<ulink url="http://www.initd.org/">Website.</ulink>
140130
</para>
141131
</listitem>
142132
</varlistentry>
143-
144133
</variablelist>
145-
146-
All of these can be found at
147-
<ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>
148-
or <ulink url="http://pgfoundry.org"><productname>pgFoundry</></ulink>.
149134
</para>
150135

151136
</sect1>
@@ -175,8 +160,8 @@
175160
<para>
176161
There are several administration tools available for
177162
<productname>PostgreSQL</>. The most popular is
178-
<application>pgAdmin</>, and there are several commercially
179-
available ones.
163+
<application><ulink url="http://www.pgadmin.org/">pgAdmin III</ulink></>,
164+
and there are several commercially available ones as well.
180165
</para>
181166

182167
</sect1>

doc/src/sgml/maintenance.sgml

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.56 2006/06/18 15:38:35 petere Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/maintenance.sgml,v 1.57 2006/08/01 00:09:06 momjian Exp $ -->
22

33
<chapter id="maintenance">
44
<title>Routine Database Maintenance Tasks</title>
@@ -7,42 +7,40 @@
77
<primary>maintenance</primary>
88
</indexterm>
99

10+
<indexterm zone="maintenance">
11+
<primary>Routine maintenance</primary>
12+
</indexterm>
13+
1014
<para>
11-
There are a few routine maintenance chores that must be performed on
12-
a regular basis to keep a <productname>PostgreSQL</productname>
13-
server running smoothly. The tasks discussed here are repetitive
14-
in nature and can easily be automated using standard Unix tools such
15-
as <application>cron</application> scripts. But it is the database
16-
administrator's responsibility to set up appropriate scripts, and to
17-
check that they execute successfully.
15+
PostgreSQL, like any database software, requires that certain tasks
16+
be performed regularly to achieve optimum performance. The tasks
17+
discussed here are <emphasis>required</emphasis>, but they
18+
are repetitive in nature and can easily be automated using standard
19+
Unix tools such as <application>cron</application> scripts.
1820
</para>
19-
21+
2022
<para>
21-
One obvious maintenance task is creation of backup copies of the data on a
22-
regular schedule. Without a recent backup, you have no chance of recovery
23-
after a catastrophe (disk failure, fire, mistakenly dropping a critical
24-
table, etc.). The backup and recovery mechanisms available in
25-
<productname>PostgreSQL</productname> are discussed at length in
26-
<xref linkend="backup">.
23+
<productname>PostgreSQL</productname> is low-maintenance compared
24+
to other database management systems. It is also fairly easy, provided
25+
you read the documentation.
2726
</para>
2827

2928
<para>
30-
The other main category of maintenance task is periodic <quote>vacuuming</>
31-
of the database. This activity is discussed in
32-
<xref linkend="routine-vacuuming">.
29+
There are three tasks that <emphasis>must</emphasis> be performed on
30+
a periodic basis. The first is backups. If you do not have a current backup
31+
and your system experiences a catastrophic failure, you will lose your data.
32+
You can read further about backups procedures in <xref linkend="backup">.
33+
The second is vacuum which is discussed in <xref linkend="routine-vacuuming">.
34+
The third is to update the planner statistics using the analyze command as
35+
discussed in <xref linkend="vacuum-for-statistics">.
3336
</para>
3437

3538
<para>
36-
Something else that might need periodic attention is log file management.
39+
Another task that may need periodic attention is log file management.
3740
This is discussed in <xref linkend="logfile-maintenance">.
3841
</para>
3942

40-
<para>
41-
<productname>PostgreSQL</productname> is low-maintenance compared
42-
to some other database management systems. Nonetheless,
43-
appropriate attention to these tasks will go far towards ensuring a
44-
pleasant and productive experience with the system.
45-
</para>
43+
4644

4745
<sect1 id="routine-vacuuming">
4846
<title>Routine Vacuuming</title>
@@ -53,11 +51,11 @@
5351

5452
<para>
5553
<productname>PostgreSQL</productname>'s <command>VACUUM</> command
56-
must be run on a regular basis for several reasons:
54+
<emphasis>must</emphasis> be run on a regular basis for several reasons:
5755

5856
<orderedlist>
5957
<listitem>
60-
<simpara>To recover disk space occupied by updated or deleted
58+
<simpara>To recover or reuse disk space occupied by updated or deleted
6159
rows.</simpara>
6260
</listitem>
6361

@@ -82,11 +80,12 @@
8280
</para>
8381

8482
<para>
85-
The standard form of <command>VACUUM</> can run in parallel with
86-
normal database operations (SELECTs, INSERTs, UPDATEs, DELETEs, but not
87-
changes to table definitions).
88-
Beginning in <productname>PostgreSQL</productname> 8.0, there are
89-
configuration parameters that can be adjusted to further reduce the
83+
The standard form of <command>VACUUM</> does not intefere with production
84+
database operations. Items such as SELECTS, INSERTS, UPDATES and DELETES
85+
will continue to function as normal, though you will not be able to modify the
86+
definition (Such as ALTER TABLE ADD COLUMN) of a table while it is being vacuumed.
87+
The release of <productname>PostgreSQL</productname> 8.0, introduced new
88+
configuration parameters to further reduce the potentially negative
9089
performance impact of background vacuuming. See
9190
<xref linkend="runtime-config-resource-vacuum-cost">.
9291
</para>
@@ -187,9 +186,9 @@
187186
</para>
188187

189188
<para>
190-
If you have a table whose contents are deleted on a periodic
191-
basis, consider doing it with <command>TRUNCATE</command> rather
192-
than using <command>DELETE</command> followed by
189+
If you have a table whose entire contents are deleted on a periodic
190+
basis, consider doing it with the <command>TRUNCATE</command> rather
191+
than using the <command>DELETE</command> followed by
193192
<command>VACUUM</command>. <command>TRUNCATE</command> removes the
194193
entire content of the table immediately, without requiring a
195194
subsequent <command>VACUUM</command> or <command>VACUUM

0 commit comments

Comments
 (0)