From e2b1dbd39463e7a1b3b4f3488132e9ad9929c891 Mon Sep 17 00:00:00 2001 From: Neil Conway Date: Mon, 20 Nov 2006 17:42:16 +0000 Subject: [PATCH] Overhaul the "External Projects" chapter in the manual. Replace the variabelist with a more concise table, add a URL for each project, remove some orphaned projects, add PL/Py, and various other changes. Initial patch from Robert Treat, subsequent work by Neil Conway. --- doc/src/sgml/external-projects.sgml | 356 ++++++++++++++++++---------- doc/src/sgml/xplang.sgml | 12 +- 2 files changed, 235 insertions(+), 133 deletions(-) diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml index 1a7a074169..5ff952dfa5 100644 --- a/doc/src/sgml/external-projects.sgml +++ b/doc/src/sgml/external-projects.sgml @@ -1,139 +1,243 @@ - + - PgFoundry and External Projects + External Projects PostgreSQL is a complex software project, and managing the project is difficult. We have found that many enhancements to PostgreSQL can be more - efficiently developed separately from the core project. - - - - To help our community with the development of their external projects, - we have created the PgFoundry. - PgFoundry is built using the - GForge software project and is similar to SourceForge in its feature set. If - you have a PostgreSQL related Open Source project that you would like to - develop and need project management resources such as mailing lists, forums, - bug tracking, and CVS, please feel free to create a new project. + efficiently developed separately from the core project. - Secondly, many PostgreSQL-related projects are - 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 - search the web if you don't find the project you are looking for. + To help our community with the development of their external projects, we + have created PgFoundry, a + website that provides hosting for PostgreSQL-related + projects that are maintained outside the core PostgreSQL + distribution. PgFoundry is built using the GForge software project and is + similar to SourceForge.net in its + feature set, providing mailing lists, forums, bug tracking, CVS, and web + hosting. If you have a PostgreSQL-related open source + project that you would like to have hosted at PgFoundy, please feel free + to create a new project. + + + Many PostgreSQL-related projects are 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. Other popular + PostgreSQL-related projects are hosted + independently, or on other project-hosting sites such such as SourceForge.net. You should search + the web if you don't find the project you are looking for. + + + - Externally Developed Interfaces + Client Interfaces interfaces + externally maintained - PostgreSQL includes very few interfaces - with the base distribution. libpq is packaged because - 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. + There are only two client interfaces included in the base + PostgreSQL distribution: + + + + libpq is included because it is the + primary C language interface, and because many other client interfaces + are built on top of it. + + + + + + ecpg is included because it depends on the + server-side SQL grammar, and is therefore sensitive to changes in + PostgreSQL itself. + + + + + All other language interfaces are external projects and are distributed + separately. includes a list of + some of these projects. Note that some of these packages may not be + released under the same license as PostgreSQL. For more + information on each language interface, including licensing terms, refer to + its website and documentation. + + Externally Maintained Client Interfaces</> + + <tgroup cols="4"> + <thead> + <row> + <entry>Name</entry> + <entry>Language</entry> + <entry>Comments</entry> + <entry>Website</entry> + </row> + </thead> + + <tbody> + <row> + <entry>DBD::Pg</entry> + <entry>Perl</entry> + <entry>Perl DBI driver</entry> + <entry><ulink url="http://search.cpan.org/dist/DBD-Pg/">http://search.cpan.org/dist/DBD-Pg/</ulink></entry> + </row> + + <row> + <entry>JDBC</entry> + <entry>JDBC</entry> + <entry>Type 4 JDBC driver</entry> + <entry><ulink url="http://jdbc.postgresql.org/">http://jdbc.postgresql.org/</ulink></entry> + </row> + + <row> + <entry>libpqxx</entry> + <entry>C++</entry> + <entry>New-style C++ interface</entry> + <entry><ulink url="http://thaiopensource.org/development/libpqxx/">http://thaiopensource.org/development/libpqxx/</ulink></entry> + </row> + + <row> + <entry>libpq++</entry> + <entry>C++</entry> + <entry>Old-style C++ interface</entry> + <entry><ulink url="http://gborg.postgresql.org/project/libpqpp/">http://gborg.postgresql.org/project/libpqpp/</ulink></entry> + </row> + + <row> + <entry>Npgsql</entry> + <entry>.NET</entry> + <entry>.NET data provider</entry> + <entry><ulink url="http://pgfoundry.org/projects/npgsql/">http://pgfoundry.org/projects/npgsql/</ulink></entry> + </row> + + <row> + <entry>ODBCng</entry> + <entry>ODBC</entry> + <entry>An alternative ODBC driver</entry> + <entry><ulink url="http://projects.commandprompt.com/public/odbcng/">http://projects.commandprompt.com/public/odbcng/</ulink></entry> + </row> + + <row> + <entry>pgtclng</entry> + <entry>Tcl</entry> + <entry></entry> + <entry><ulink url="http://pgfoundry.org/projects/pgtclng/">http://pgfoundry.org/projects/pgtclng/</ulink></entry> + </row> + + <row> + <entry>psqlODBC</entry> + <entry>ODBC</entry> + <entry>The most commonly-used ODBC driver</entry> + <entry><ulink url="http://odbc.postgresql.org/">http://odbc.postgresql.org/</ulink></entry> + </row> + + <row> + <entry>psycopg</entry> + <entry>Python</entry> + <entry>DB API 2.0-compliant</entry> + <entry><ulink url="http://www.initd.org/">http://www.initd.org/</ulink></entry> + </row> + </tbody> + </tgroup> + </table> + </sect1> + + <sect1 id="external-pl"> + <title>Procedural Languages + + + procedural language + externally maintained + + - Some of the more popular interfaces are: - - - - psqlODBC - - - This is the most common interface for Windows - applications. Website. - - - - - - ODBCng - - - Another ODBC driver for PostgreSQL. - Website. - - - - - - PostgreSQL JDBC Driver - - - A JDBC interface. - Website. - - - - - - Npgsql - - - .Net data provider for C# applications. - Website. - - - - - - libpqxx - - - A C++ interface. - Website. - - - - - - DBD::Pg - - - A Perl DBI driver for PostgreSQL. - Website. - - - - - - pgtclng - - - A Tcl interface. - Website. - - - - - - pyscopg - - - A Python interface library that is DB API 2.0 compliant. - Website. - - - - - + PostgreSQL includes several procedural + languages with the base distribution: PL/PgSQL, PL/Tcl, + PL/Perl, and PL/Python. + + + + In addition, there are a number of procedural languages that are developed + and maintained outside the core PostgreSQL + distribution. lists some of these + packages. Note that some of these projects may not be released under the same + license as PostgreSQL. For more information on each + procedural language, including licensing information, refer to its website + and documentation. + + +
+ Externally Maintained Procedural Languages + + + + Name + Language + Website + + + + + + PL/Java + Java + http://pljava.projects.postgresql.org/ + + + + PL/PHP + PHP + http://www.commandprompt.com/community/plphp/ + + + + PL/Py + Python + http://python.projects.postgresql.org/ + + + + PL/R + R + http://www.joeconway.com/plr/ + + + + PL/Ruby + Ruby + http://raa.ruby-lang.org/project/pl-ruby/ + + + + PL/Scheme + Scheme + http://plscheme.projects.postgresql.org/ + + + + PL/sh + Unix shell + http://plsh.projects.postgresql.org/ + + + +
@@ -144,18 +248,21 @@ - PostgreSQL was designed from the start to be - extensible. For this reason, extensions loaded into the database can - function just like features that are packaged with the database. The + PostgreSQL is designed to be easily extensible. For + this reason, extensions loaded into the database can function just + like features that are packaged with the database. The contrib/ directory shipped with the source code contains a large number of extensions. The README file - in that directory contains a summary. They include conversion tools, - full-text indexing, XML tools, and additional data types - and indexing methods. Other extensions are developed independently, - like PostGIS. Even PostgreSQL - replication solutions are developed externally. For example, - Slony-I is a popular master/slave replication solution - that is developed independently from the core project. + in that directory contains a summary. They include conversion + tools, full-text indexing, XML tools, and additional + data types and indexing methods. Other extensions are developed + independently, like PostGIS. Even + PostgreSQL replication solutions are developed + externally. For example, Slony-I is a popular + master/slave replication solution that is developed independently + from the core project. @@ -163,7 +270,6 @@ PostgreSQL. The most popular is pgAdmin III, and there are several commercially available ones as well. - - +
diff --git a/doc/src/sgml/xplang.sgml b/doc/src/sgml/xplang.sgml index e56e72d6a0..d4b1163145 100644 --- a/doc/src/sgml/xplang.sgml +++ b/doc/src/sgml/xplang.sgml @@ -1,4 +1,4 @@ - + Procedural Languages @@ -31,15 +31,11 @@ PL/Tcl (), PL/Perl (), and PL/Python (). - Other languages can be defined by users. - The basics of developing a new procedural language are covered in . - - - There are additional procedural languages available that are not included in the core distribution. - has information about finding them. + has information about finding them. In addition other languages can + be defined by users; the basics of developing a new procedural + language are covered in . -- GitLab