Maintenance and External Projects (try 2)

Поиск
Список
Период
Сортировка
От Joshua D. Drake
Тема Maintenance and External Projects (try 2)
Дата
Msg-id 44B7D011.4020307@commandprompt.com
обсуждение исходный текст
Ответ на Re: [DOCS] maintenance diff  ("Joshua D. Drake" <jd@commandprompt.com>)
Ответы Re: [DOCS] Maintenance and External Projects (try 2)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-patches
Hello,

I did further work on both of these. Cleaned up some stupid spelling and
typos (forgot an s here, a y there ;)).

The commit log doesn't change from previous except that I added a
reference to Sourceforge for external projects, and I specified that
there are three required routing maintenance tasks.

Please let me know if there is anything else you would like me to do or add.

Joshua D. Drake


--

    === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
    Providing the most comprehensive  PostgreSQL solutions since 1997
              http://www.commandprompt.com/


*** external-projects.sgml    2006-07-14 09:35:39.820149250 -0700
--- external-projects.sgml.diff    2006-07-14 09:33:42.864840000 -0700
***************
*** 1,29 ****
  <!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.10 2006/03/10 19:10:47 momjian Exp $ -->

   <appendix id="external-projects">
!   <title>External Projects</title>

    <para>
     <productname>PostgreSQL</productname> is a complex software project,
     and managing it is difficult. We have found that many
     enhancements to <productname>PostgreSQL</productname> can be more
!    efficiently developed separately from the core project. Separate
!    projects can
!    have their own developer teams, email lists, bug tracking,
!    and release schedules. While their independence makes
!    development easier, it makes users' jobs harder. They have to hunt
!    around looking for database enhancements to meet their needs.
!    This section describes some of the more popular externally
!    developed enhancements and guides you on how to find them.
    </para>

    <para>
!    Many <productname>PostgreSQL</productname>-related projects are
!    hosted at either
!    <ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>
!    or <ulink url="http://pgfoundry.org"><productname>pgFoundry</></ulink>.
!    There are other <productname>PostgreSQL</productname>-related projects that are hosted
!    elsewhere, but you will have to do an Internet search to find them.
    </para>

   <sect1 id="external-interfaces">
--- 1,34 ----
  <!-- $PostgreSQL: pgsql/doc/src/sgml/external-projects.sgml,v 1.10 2006/03/10 19:10:47 momjian Exp $ -->

   <appendix id="external-projects">
!   <title>PgFoundry and External Projects</title>

    <para>
     <productname>PostgreSQL</productname> is a complex software project,
     and managing it is difficult. We have found that many
     enhancements to <productname>PostgreSQL</productname> can be more
!    efficiently developed separately from the core project.
!   </para>
!
!   <para>
!    To help our community with the development of their external projects
!    we have created <ulink url="http://www.pgfoundry.org/">PgFoundry</ulink>.
!    <ulink url="http://www.pgfoundry.org/">Pgfoundry</ulink> utlizes the Gforge
!    software and is similar to SourceForge in its feature set. If you have an
!    Open Source project that you would like to develop and need project management
!    resources such as mailing lists, forums and cvs please feel free to create
!    a new project.
    </para>

    <para>
!    Secondly, many <productname>PostgreSQL</productname>-related projects are
!    still hosted at <ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>.
!    Gborg is the original external community developer site. It is currently deprecated
!    in favor of PgFoundry but still contains many active and relevant projects. There
!    are other popular <productname>PostgreSQL</productname> related projects that are
!    hosted independently as well as at other community sites such as
!    <ulink url="http://www.sf.net">SourceForge</ulink>. You should you google if you
!    don't find the project you are looking for.
    </para>

   <sect1 id="external-interfaces">
***************
*** 36,46 ****
    <para>
     <productname>PostgreSQL</productname> includes very few interfaces
     with the base distribution. <application>libpq</> is packaged because
!    it is the primary <application>C</> interface and many other
!    interfaces are built on top of it. <application>ecpg</> is packaged
!    because it is tied to the server-side grammar so is very dependent
!    on the database version. All the other interfaces are independent
!    projects and must be installed separately.
    </para>

    <para>
--- 41,50 ----
    <para>
     <productname>PostgreSQL</productname> includes very few interfaces
     with the base distribution. <application>libpq</> is packaged because
!    it is the primary dependecy of most interfaces available to PostgreSQL.
!    We also package <application>ecpg</> is because it is tied to the
!    server-side grammar. All other interfaces, such as PHP, Perl, Python,
!    and Ruby are external projects.
    </para>

    <para>
***************
*** 52,115 ****
       <listitem>
        <para>
         This is the most common interface for <application>Windows</>
!        applications.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>pgjdbc</term>
       <listitem>
        <para>
!        A <application>JDBC</> interface.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>Npgsql</term>
!      <listitem>
!       <para>
!        <application>.Net</> interface for more recent
!        <application>Windows</> applications.
!       </para>
!      </listitem>
!     </varlistentry>
!
!     <varlistentry>
!      <term>libpqxx</term>
       <listitem>
        <para>
!        A newer <application>C++</> interface.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>libpq++</term>
       <listitem>
        <para>
!        An older <application>C++</> interface.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>pgperl</term>
       <listitem>
        <para>
!        A <application>Perl</> interface with an <acronym>API</> similar
!        to <application>libpq</>.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>DBD-Pg</term>
       <listitem>
        <para>
!        A <application>Perl</> interface that uses the
!        <acronym>DBD</>-standard <application>API</>.
        </para>
       </listitem>
      </varlistentry>
--- 56,113 ----
       <listitem>
        <para>
         This is the most common interface for <application>Windows</>
!        applications. <ulink url="http://odbc.postgresql.org/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>ODBCng</term>
       <listitem>
        <para>
!        Another ODBC driver for PostgreSQL.
!        <ulink url="http://projects.commandprompt.com/public/odbcng/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>pgjdbc</term>
       <listitem>
        <para>
!        A <application>JDBC</> interface.
!        <ulink url="http://jdbc.postgresql.org/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>Npgsql</term>
       <listitem>
        <para>
!        <application>.Net</> interface for more recent
!        <application>mono/C#</> applications.
!        <ulink url="http://pgfoundry.org/projects/npgsql/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>libpqxx</term>
       <listitem>
        <para>
!        A newer <application>C++</> interface.
!        <ulink url="http://thaiopensource.org/development/libpqxx/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>DBD::Pg</term>
       <listitem>
        <para>
!        A <application>Perl</> DBI driver for PostgreSQL.
!        <ulink url="http://search.cpan.org/dist/DBD-Pg/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>
***************
*** 119,151 ****
       <listitem>
        <para>
         A newer version of the <application>Tcl</> interface.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>pgtcl</term>
       <listitem>
        <para>
!        The original version of the <application>Tcl</> interface.
        </para>
       </listitem>
      </varlistentry>
-
-     <varlistentry>
-      <term>PyGreSQL</term>
-      <listitem>
-       <para>
-        A <application>Python</> interface library.
-       </para>
-      </listitem>
-     </varlistentry>
-
     </variablelist>
-
-    All of these can be found at
-    <ulink url="http://gborg.postgresql.org"><productname>GBorg</></ulink>
-    or <ulink url="http://pgfoundry.org"><productname>pgFoundry</></ulink>.
     </para>

   </sect1>
--- 117,137 ----
       <listitem>
        <para>
         A newer version of the <application>Tcl</> interface.
+        <ulink url="http://gborg.postgresql.org/project/pgtclng/projdisplay.php">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
!      <term>Pyscopg</term>
       <listitem>
        <para>
!        A <application>Python</> interface library that is DB API 2.0 compliant.
!        <ulink url="http://www.initd.org/">Website.</ulink>
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
     </para>

   </sect1>
***************
*** 175,181 ****
    <para>
     There are several administration tools available for
     <productname>PostgreSQL</>. The most popular is
!    <application>pgAdmin</>, and there are several commercially
     available ones.
    </para>

--- 161,167 ----
    <para>
     There are several administration tools available for
     <productname>PostgreSQL</>. The most popular is
!    <application><ulink url="http://www.pgadmin.org/">pgAdmin</ulink></>, and there are several commercially
     available ones.
    </para>

*** maintenance.sgml    2006-07-14 09:35:40.180171750 -0700
--- maintenance.diff    2006-07-14 10:06:13.642756000 -0700
***************
*** 7,48 ****
    <primary>maintenance</primary>
   </indexterm>

    <para>
!    There are a few routine maintenance chores that must be performed on
!    a regular basis to keep a <productname>PostgreSQL</productname>
!    server running smoothly.  The tasks discussed here are repetitive
!    in nature and can easily be automated using standard Unix tools such
!    as <application>cron</application> scripts.  But it is the database
!    administrator's responsibility to set up appropriate scripts, and to
!    check that they execute successfully.
    </para>
!
    <para>
!    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
!    <productname>PostgreSQL</productname> are discussed at length in
!    <xref linkend="backup">.
    </para>

    <para>
!    The other main category of maintenance task is periodic <quote>vacuuming</>
!    of the database.  This activity is discussed in
!    <xref linkend="routine-vacuuming">.
    </para>

    <para>
!    Something else that might need periodic attention is log file management.
     This is discussed in <xref linkend="logfile-maintenance">.
    </para>

!   <para>
!    <productname>PostgreSQL</productname> 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.
!   </para>

   <sect1 id="routine-vacuuming">
    <title>Routine Vacuuming</title>
--- 7,46 ----
    <primary>maintenance</primary>
   </indexterm>

+  <indexterm zone="maintenance">
+   <primary>Routine maintenance</primary>
+  </indexterm>
+
    <para>
!    PostgreSQL, like any database software requires that certain tasks
!    be performed regularly to achieve optimum performance. The tasks
!    discussed here are <emphasis>required</emphasis> but they
!    are repetitive in nature and can easily be automated using standard
!    Unix tools such as <application>cron</application> scripts.
    </para>
!
    <para>
!    <productname>PostgreSQL</productname> is low-maintenance compared
!    to other database management systems. It is also fairly easy, provided
!    you read the documentation.
    </para>

    <para>
!    There are three tasks that <emphasis>must</emphasis> be performed on
!    a periodic basis. The first is backups. If you do not have a current backup
!    and your system experiences a catostrophic failure, you will loose your data.
!    You can read further about backups procedures in <xref linked="backup">.
!    The second is vacuum which is discussed in <xref linkend="routine-vacuuming">.
!    The third is to update the planner statistics using the analyze command as
!    discussed in <xref linkend="vacuum-for-statistics">.
    </para>

    <para>
!    Another task that may need periodic attention is log file management.
     This is discussed in <xref linkend="logfile-maintenance">.
    </para>

!

   <sect1 id="routine-vacuuming">
    <title>Routine Vacuuming</title>
***************
*** 53,63 ****

    <para>
     <productname>PostgreSQL</productname>'s <command>VACUUM</> command
!    must be run on a regular basis for several reasons:

      <orderedlist>
       <listitem>
!       <simpara>To recover disk space occupied by updated or deleted
        rows.</simpara>
       </listitem>

--- 51,61 ----

    <para>
     <productname>PostgreSQL</productname>'s <command>VACUUM</> command
!    <emphasis>must</emphasis> be run on a regular basis for several reasons:

      <orderedlist>
       <listitem>
!       <simpara>To recover or reuse disk space occupied by updated or deleted
        rows.</simpara>
       </listitem>

***************
*** 82,92 ****
    </para>

    <para>
!    The standard form of <command>VACUUM</> can run in parallel with
!    normal database operations (SELECTs, INSERTs, UPDATEs, DELETEs, but not
!    changes to table definitions).
!    Beginning in <productname>PostgreSQL</productname> 8.0, there are
!    configuration parameters that can be adjusted to further reduce the
     performance impact of background vacuuming.  See
     <xref linkend="runtime-config-resource-vacuum-cost">.
    </para>
--- 80,91 ----
    </para>

    <para>
!    The standard form of <command>VACUUM</> does not intefere with production
!    database operations. Items such as SELECTS, INSERTS, UPDATES and DELETES
!    will continue to function as normal. You will not be able to modify the
!    definition (Such as ALTER TABLE ADD COLUMN) of a table.
!    The release of <productname>PostgreSQL</productname> 8.0, introduced new
!    configuration parameters to further reduce the potentially negative
     performance impact of background vacuuming.  See
     <xref linkend="runtime-config-resource-vacuum-cost">.
    </para>

В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: build with different options than Bruce
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgstattuple extension for indexes