========================================== PyGreSQL - Python interface for PostgreSQL ========================================== ---------------------- PyGreSQL version 3.8.1 ---------------------- .. meta:: :description: PyGreSQL - Python interface for PostgreSQL :keywords: PyGreSQL, PostGreSQL, Python .. contents:: Contents Copyright notice ================ Written by D'Arcy J.M. Cain (darcy@druid.net) Based heavily on code written by Pascal Andre (andre@chimay.via.ecp.fr) Copyright (c) 1995, Pascal Andre Further modifications copyright (c) 1997-2006 by D'Arcy J.M. Cain (darcy@druid.net) Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies or in any new file that contains a substantial portion of this file. IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Introduction ============ **PostgreSQL** is a highly scalable, SQL compliant, open source object-relational database management system. With more than 15 years of development history, it is quickly becoming the de facto database for enterprise level open source solutions. Best of all, PostgreSQL's source code is available under the most liberal open source license: the BSD license. **Python** Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is copyrighted but freely usable and distributable, even for commercial use. **PyGreSQL** is a Python module that interfaces to a PostgreSQL database. It embeds the PostgreSQL query library to allow easy use of the powerful PostgreSQL features from a Python script. PyGreSQL is developed and tested on a NetBSD system, but it should also run on most other platforms where PostgreSQL and Python is running. It is based on the PyGres95 code written by Pascal Andre (andre@chimay.via.ecp.fr). D'Arcy (darcy@druid.net) renamed it to PyGreSQL starting with version 2.0 and serves as the "BDFL" of PyGreSQL. The current version PyGreSQL 3.8.1 needs PostgreSQL 7.1.3 and Python 2.1 or above. Where to get ... ? ================== Home sites of the different packages ------------------------------------ **Python**: http://www.python.org **PosgreSQL**: http://www.postgresql.org **PyGreSQL**: http://www.pygresql.org Download PyGreSQL here ---------------------- The **released version of the source code** is available at ftp://ftp.pygresql.org/pub/distrib/PyGreSQL.tgz You can also check the latest **pre-release version** at ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-beta.tgz A **Linux RPM** can be picked up from ftp://ftp.pygresql.org/pub/distrib/pygresql.i386.rpm A **NetBSD package** is available in their pkgsrc collection ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/databases/py-postgresql/README.html A **FreeBSD package** is available in their ports collection http://www.freebsd.org/cgi/cvsweb.cgi/ports/databases/py-PyGreSQL/ A **Win32 package** is available at ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-3.8.1.win32-py2.2.exe ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-3.8.1.win32-py2.3.exe ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-3.8.1.win32-py2.4.exe Distribution files ================== ========== = pgmodule.c the C Python module (_pg) pg.py the "classic" PyGreSQL module pgdb.py DB-SIG DB-API 2.0 compliant API wrapper for PygreSQL docs/ documentation directory Contains: readme.txt, announce.txt, install.txt, changelog.txt, future.txt, pg.txt and pgdb.txt. All text files are in ReST format, so HTML versions can be easily created with buildhtml.py from docutils. tutorial/ demos directory Contains: basics.py, syscat.py, advanced.py and func.py. The samples here have been taken from the PostgreSQL manual and were used for module testing. They demonstrate some PostgreSQL features. ========== = Installation ============ You will find the installing instructions in `install.txt `_. Information and support ======================= For general information ----------------------- **Python**: http://www.python.org **PosgreSQL**: http://www.postgresql.org **PyGreSQL**: http://www.pygresql.org For support ----------- **Python**: see http://www.python.org/community/ **PostgreSQL**: see http://www.postgresql.org/support/ **PyGreSQL**: Contact the PyGreSQL mailing list concerning PyGreSQL 2.0 and up. If you would like to proposes changes, please join the PyGreSQL mailing list and send context diffs there. See http://mailman.vex.net/mailman/listinfo/pygresql to join the mailing list. Please note that messages to individual developers will generally not be answered directly. All questions, comments and code changes must be submitted to the mailing list for peer review and archiving. PyGreSQL programming information -------------------------------- You may either choose to use the "classic" PyGreSQL interface provided by the `pg` module or else the newer DB-API 2.0 compliant interface provided by the `pgdb` module. `DB-API 2.0 `_ (Python Database API Specification v2.0) is a specification for connecting to databases (not only PostGreSQL) from Python that has been developed by the Python DB-SIG in 1999. The programming information is available in the files `pg.txt `_ and `pgdb.txt `_. ChangeLog and Future ==================== The ChangeLog with past changes is in the file `changelog.txt `_. A to do list and wish list is in the file `future.txt `_.