From 5f69890e154f66f52687a4d893da8609f24706ee Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Tue, 1 Aug 2006 19:17:18 +0000 Subject: [PATCH] Editorialize a bit on the recent patch, reverting to the original versions of the text where appropiate. --- doc/src/sgml/external-projects.sgml | 27 ++++++------ doc/src/sgml/maintenance.sgml | 66 +++++++++++++++++------------ 2 files changed, 52 insertions(+), 41 deletions(-) diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml index 23d67b44ce..badda2c065 100644 --- a/doc/src/sgml/external-projects.sgml +++ b/doc/src/sgml/external-projects.sgml @@ -1,4 +1,4 @@ - + PgFoundry and External Projects @@ -22,13 +22,13 @@ Secondly, many PostgreSQL-related projects are - still hosted at GBorg. + still hosted at GBorg. GBorg is the original external community developer site, and while it is currently closed to new projects in favor of PgFoundry, it still contains many active and relevant projects. There are other popular PostgreSQL related projects that are hosted independently as well at other community - sites such as SourceForge. You should - google if you don't find the project you are looking for. + sites such as SourceForge. You should + search the web if you don't find the project you are looking for. @@ -41,10 +41,11 @@ PostgreSQL includes very few interfaces with the base distribution. libpq is packaged because - it is the primary dependecy of most interfaces available to PostgreSQL. - We also package ecpg because it is tied to the - server-side grammar. All other interfaces, such as PHP, Perl, Python, - and Ruby, are external projects. + it is the primary C interface and many other interfaces + are build on top of it. ecpg is also packaged because it is + tied to the server-side grammar so is very dependent on the database + version. All the other interfaces, such as ODBC, Java, Perl, Python, and + others, are external projects and must be installed separately. @@ -72,7 +73,7 @@ - pgjdbc + PostgreSQL JDBC Driver A JDBC interface. @@ -85,7 +86,7 @@ Npgsql - .Net interface for more recent mono/C# applications. + .Net data provider for C# applications. Website. @@ -95,7 +96,7 @@ libpqxx - A newer C++ interface. + A C++ interface. Website. @@ -115,14 +116,14 @@ pgtclng - A newer version of the Tcl interface. + A Tcl interface. Website. - Pyscopg + pyscopg A Python interface library that is DB API 2.0 compliant. diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 1576d72dd4..531a309ad0 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -1,4 +1,4 @@ - + Routine Database Maintenance Tasks @@ -8,39 +8,48 @@ - Routine maintenance + routine maintenance - PostgreSQL, like any database software, requires that certain tasks - be performed regularly to achieve optimum performance. The tasks + PostgreSQL, like any database software, requires that certain tasks + be performed regularly to achieve optimum performance. The tasks discussed here are required, but they - are repetitive in nature and can easily be automated using standard - Unix tools such as cron scripts. - - - - PostgreSQL is low-maintenance compared - to other database management systems. It is also fairly easy, provided - you read the documentation. + are repetitive in nature and can easily be automated using standard + Unix tools such as cron scripts or + Windows' Task Scheduler. But it is the database + administrator's responsibility to set up appropriate scripts, and to + check that they execute successfully. - There are three tasks that must be performed on - a periodic basis. The first is backups. If you do not have a current backup - and your system experiences a catastrophic failure, you will lose your data. - You can read further about backups procedures in . - The second is vacuum which is discussed in . - The third is to update the planner statistics using the analyze command as - discussed in . + One obvious maintenance task is creation of backup copies of the data on a + regular schedule. Without a recent backup, you have no chance of recovery + after a catastrophe (disk failure, fire, mistakenly dropping a critical + table, etc.). The backup and recovery mechanisms available in + PostgreSQL are discussed at length in + . - Another task that may need periodic attention is log file management. + The other main category of maintenance task is periodic vacuuming + of the database. This activity is discussed in + . Closely related to this is to update + the statistics that will be used by the query planner, as discussed in + . + + + + Another task that might need periodic attention is log file management. This is discussed in . - + + PostgreSQL is low-maintenance compared + to some other database management systems. Nonetheless, + appropriate attention to these tasks will go far towards ensuring a + pleasant and productive experience with the system. + Routine Vacuuming @@ -80,12 +89,13 @@ - The standard form of VACUUM does not intefere with production - database operations. Items such as SELECTS, INSERTS, UPDATES and DELETES + The standard form of VACUUM can run in parallel with production + database operations. Commands such as SELECTs, INSERTs, UPDATEs and DELETEs will continue to function as normal, though you will not be able to modify the - definition (Such as ALTER TABLE ADD COLUMN) of a table while it is being vacuumed. - The release of PostgreSQL 8.0, introduced new - configuration parameters to further reduce the potentially negative + definition of a table with commands such as ALTER TABLE ADD COLUMN + while it is being vacuumed. + Beginning in PostgreSQL 8.0, there are + configuration parameters that can be adjusted to further reduce the performance impact of background vacuuming. See . @@ -187,8 +197,8 @@ If you have a table whose entire contents are deleted on a periodic - basis, consider doing it with the TRUNCATE rather - than using the DELETE followed by + basis, consider doing it with TRUNCATE rather + than using DELETE followed by VACUUM. TRUNCATE removes the entire content of the table immediately, without requiring a subsequent VACUUM or VACUUM