This page in other versions: Unsupported versions: 7.1 / 7.2 / 7.3

Chapter 6. PyGreSQL - Python Interface

Table of Contents
6.1. The pg Module
6.2. pg Module Functions
connect -- open a connection to the database server
get_defhost -- get default host name [DV]
set_defhost -- set default host name [DV]
get_defport -- get default port [DV]
set_defport -- set default port [DV]
get_defopt -- get default options specification [DV]
set_defopt -- set default options specification [DV]
get_deftty -- get default connection debug terminal specification [DV]
set_deftty -- set default connection debug terminal specification [DV]
get_defbase -- get default database name specification [DV]
set_defbase -- set default database name specification [DV]
6.3. Connection Object: pgobject
query -- execute a SQL command
reset -- reset the connection
close -- close the database connection
fileno -- return the socket used to connect to the database
getnotify -- get the last notify from the server
inserttable -- insert a list into a table
putline -- write a line to the server socket [DA]
getline -- get a line from server socket [DA]
endcopy -- synchronize client and server [DA]
locreate -- create a large object in the database [LO]
getlo -- build a large object from given OID [LO]
loimport -- import a file to a PostgreSQL large object [LO]
6.4. Database Wrapper Class: DB
pkey -- return the primary key of a table
get_databases -- get list of databases in the system
get_tables -- get list of tables in connected database
get_attnames -- return the attribute names of a table
get -- get a tuple from a database table
insert -- insert a tuple into a database table
update -- update a database table
clear -- clear a database table
delete -- delete a row from a table
6.5. Query Result Object: pgqueryobject
getresult -- get the values returned by the query
dictresult -- get the values returned by the query as a list of dictionaries
listfields -- list the fields names of the query result
fieldname -- get field name by number
fieldnum -- get field number by name
ntuples -- return the number of tuples in query object
6.6. Large Object: pglarge
open -- open a large object
close -- close the large object
read -- read from the large object
write -- write to the large object
seek -- change current position in the large object
tell -- return current position in the large object
unlink -- delete the large object
size -- return the large object size
export -- save the large object to file

Author: Written by D'Arcy J.M. Cain (). Based heavily on code written by Pascal Andre . Copyright © 1995, Pascal Andre. Further modifications Copyright © 1997-2000 by D'Arcy J.M. Cain.

You may either choose to use the old mature interface provided by the pg module or otherwise the newer pgdb interface compliant with the DB-API 2.0 specification developed by the Python DB-SIG.

Here we describe only the older pg API. As long as PyGreSQL does not contain a description of the DB-API you should read about the API at http://www.python.org/topics/database/DatabaseAPI-2.0.html.

A tutorial-like introduction to the DB-API can be found at http://www2.linuxjournal.com/lj-issues/issue49/2605.html

6.1. The pg Module

The pg module defines three objects:

  • pgobject, which handles the connection and all the requests to the database,

  • pglargeobject, which handles all the accesses to PostgreSQL large objects, and

  • pgqueryobject that handles query results.

If you want to see a simple example of the use of some of these functions, see http://www.druid.net/rides where you can find a link at the bottom to the actual Python code for the page.

6.1.1. Constants

Some constants are defined in the pg module dictionary. They are intended to be used as a parameters for methods calls. You should refer to the libpq description (Chapter 1) for more information about them. These constants are:

INV_READ
INV_WRITE

large objects access modes, used by (pgobject.)locreate and (pglarge.)open.

SEEK_SET
SEEK_CUR
SEEK_END

positional flags, used by (pglarge.)seek.

version
__version__

constants that give the current version

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group