-
+
-
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
+ url="http://sourceforge.net/">SourceForge.net. You should search
+ the web if you don't find the project you are looking for.
+
+
+
-
Externally Developed Interfaces
+
Client 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
+
+
+
+
+ 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>
+
+
+
+ |
+ Name
+ Language
+ Comments
+ Website
+
+
+
+
+ |
+ DBD::Pg
+ Perl
+ Perl DBI driver
+
http://search.cpan.org/dist/DBD-Pg/
+
+
+ |
+ JDBC
+ JDBC
+ Type 4 JDBC driver
+
http://jdbc.postgresql.org/
+
+
+ |
+ libpqxx
+ C++
+ New-style C++ interface
+
http://thaiopensource.org/development/libpqxx/
+
+
+ |
+ libpq++
+ C++
+ Old-style C++ interface
+
http://gborg.postgresql.org/project/libpqpp/
+
+
+ |
+ Npgsql
+ .NET
+ .NET data provider
+
http://pgfoundry.org/projects/npgsql/
+
+
+ |
+ ODBCng
+ ODBC
+ An alternative ODBC driver
+
http://projects.commandprompt.com/public/odbcng/
+
+
+ |
+ pgtclng
+ Tcl
+
+
http://pgfoundry.org/projects/pgtclng/
+
+
+ |
+ psqlODBC
+ ODBC
+ The most commonly-used ODBC driver
+
http://odbc.postgresql.org/
+
+
+ |
+ psycopg
+ Python
+ DB API 2.0-compliant
+
+
+
+
+
+
+
+
Procedural Languages
+
+
+ externally maintained
+
+
- Some of the more popular interfaces are:
-
-
-
- psqlODBC
-
- This is the most common interface for
Windows>
-
-
-
-
-
- ODBCng
-
- Another ODBC driver for PostgreSQL.
-
-
-
-
-
- PostgreSQL JDBC Driver
-
-
-
-
-
-
- Npgsql
-
-
.Net> data provider for C#> applications.
-
-
-
-
-
- libpqxx
-
-
-
-
-
-
- DBD::Pg
-
- A
Perl> DBI driver for PostgreSQL.
-
-
-
-
-
- pgtclng
-
-
-
-
-
-
- pyscopg
-
- A
Python> interface library that is DB API 2.0 compliant.
-
-
-
-
-
+
PostgreSQL includes several procedural
+ languages with the base distribution:
+ linkend="plpgsql">PL/PgSQL, PL/Tcl,
+
PL/Perl, and
+ linkend="plpython">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/
+
+
+
+
-
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
+ url="http://www.postgis.org/">PostGIS>. Even
+
PostgreSQL> replication solutions are developed
+ externally. For example,
+ url="http://www.slony.info">Slony-I> is a popular
+ master/slave replication solution that is developed independently
+ from the core project.
PostgreSQL>. The most popular is
and there are several commercially available ones as well.
-
-
+
-
+
Procedural Languages
- Other languages can be defined by users.
- The basics of developing a new procedural language are covered in
- linkend="plhandler">.
-
-
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 .