PostgreSQL is an free object-relational database, which supports a large part of SQL-99. It is under continuous development and each release implements more of the SQL standard, to the extent that it is now probably more compliant than most commercial databases. It also supports some object-oriented features. PostgreSQL is a full-featured, multi-user RDBMS that scales well from a few users to an entire organization.
PostgreSQL is the primary database used by GNUe developers.
To utilize PostgreSQL within GNUe, you must use one of the following python drivers:
From the Psycopg2 website: psycopg 2 is an almost complete rewrite of psycopg. It still supports all the features of psycopg but add real adaptation for Python to PostgreSQL type conversions, asynchronous queries, support for the Python built-in datetime module and the new (Python 2.4) Decimal type.
psycopg 2 is now the stable branch (psycopg 1 support has been discontinued.)
Written by initd.org volunteers.
Home Page: http://initd.org/projects/psycopg2
Supported Platforms:
The following properties can be specified in your connections.conf file:
dbname -- database name (required)
host -- host address (defaults to UNIX socket if not provided) (optional)
port -- port number (defaults to 5432 if not provided) (optional)
implicit primary key for all tables. OID fields were generated by default for all tables for Postgres 7.x and are not generated by default for Postgres 8.x.
The following is an example of a connection.conf entry:
[myconn] provider=psycopg2 # Use the psycopg2 adapter host=localhost # The hostname/IP of the postgresql host dbname=mydb # The name of the pg database
From the Psycopg website: "It was written from scratch with the aim of being very small and fast, and stable as a rock." Written by initd.org volunteers.
Home Page: http://initd.org/software/initd/psycopg/
Supported Platforms:
The following properties can be specified in your connections.conf file:
dbname -- This is the database to use (required)
directory containing the network socket (optional)
port -- Port that PostgreSQL is running on (defaults to 5432) (optional)
implicit primary key for all tables. OID fields were generated by default for all tables for Postgres 7.x and are not generated by default for Postgres 8.x.
The following is an example of a connection.conf entry:
[myconn] provider=psycopg # Use the psycopg adapter host=localhost # The hostname/IP of the postgresql host dbname=mydb # The name of the pg database
PyGreSQL is the PostgreSQL-Python driver available via PostgreSQL's CVS tree. It is compliant to Python's DB-API 2.0.
Home Page: http://druid.net/pygresql/
Supported Platforms:
The following properties can be specified in your connections.conf file:
dbname -- This is the database to use (required)
directory containing the network socket (optional)
port -- Port that PostgreSQL is running on (defaults to 5432) (optional)
implicit primary key for all tables. OID fields were generated by default for all tables for Postgres 7.x and are not generated by default for Postgres 8.x.
The following is an example of a connection.conf entry:
[myconn] provider=pygresql # Use the pygresql adapter host=localhost # The hostname/IP of the postgresql host dbname=mydb # The name of the pg database
Written by Billy Allie, pyPgSQL is a database interface for PostgreSQL 7.x.
Home Page: http://pypgsql.sf.net/
Supported Platforms:
Platforms Tested:
The following properties can be specified in your connections.conf file:
dbname -- This is the database to use (required)
directory containing the network socket (optional)
port -- Port that PostgreSQL is running on (defaults to 5432) (optional)
implicit primary key for all tables. OID fields were generated by default for all tables for Postgres 7.x and are not generated by default for Postgres 8.x.
The following is an example of a connection.conf entry:
[myconn] provider=pypgsql # Use the pypgsql adapter host=localhost # The hostname/IP of the postgresql host dbname=mydb # The name of the pg database