diff --git a/doc/src/sgml/pygresql.sgml b/doc/src/sgml/pygresql.sgml
index 8a002036bbf0c9453ff2e0a400053595b5746925..3b854d467351ba30d8d2718dc6ea2ed082cd698d 100644
--- a/doc/src/sgml/pygresql.sgml
+++ b/doc/src/sgml/pygresql.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/Attic/pygresql.sgml,v 1.8 2002/09/23 23:20:38 tgl Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/Attic/pygresql.sgml,v 1.9 2002/12/12 22:49:27 momjian Exp $ -->
 
 <chapter id="pygresql">
  <title><application>PyGreSQL</application> - <application>Python</application> Interface</title>
@@ -2413,12 +2413,17 @@ loimport(<parameter>filename</parameter>)
   <title>Database Wrapper Class: <classname>DB</classname></title>
 
   <para>
-   <classname>pg</classname> module contains a class called
-   <classname>DB</classname>.  All <classname>pgobject</classname>
-   methods are included in this class also.  A number of additional
-   <classname>DB</classname> class methods are described below.  The
-   preferred way to use this module is as follows (See description of
-   the initialization method below.):
+   The <literal>pg</literal> module contains a class called
+   <classname>DB</classname> wrapping a <classname>pgobject</classname>.
+   This <classname>pgobject</classname> can be addressed as a
+   <classname>DB</classname> class member named <varname>db</varname>
+   to get access to the read-only attributes of the corresponding connection
+   (e.g. <varname>db.error</varname>).  All <classname>pgobject</classname>
+   methods (e.g. <function>query()</function>) are directly included as members
+   in the class <classname>DB</classname> also.  A number of additional
+   higher level <classname>DB</classname> class methods are described below.
+   The preferred way to use this module is as follows  (see description of the
+   initialization method below):
 
 <programlisting>
 import pg
diff --git a/src/interfaces/python/pg.py b/src/interfaces/python/pg.py
index df502397fa6c9b4eaaaeff9d4f8edc03b54c373b..0e40a6e5a47db3f1f65cc387c4cac02dd48e82ba 100644
--- a/src/interfaces/python/pg.py
+++ b/src/interfaces/python/pg.py
@@ -48,14 +48,10 @@ class DB:
 	def __init__(self, *args, **kw):
 		self.db = apply(connect, args, kw)
 
-		# Create convience methods, in a way that is still overridable.
-		for e in ( 'query', 'reset', 'close', 'getnotify', 'inserttable',
-					'putline', 'getline', 'endcopy',
-					'host', 'port', 'db', 'options', 
-					'tty', 'error', 'status', 'user',
-					'locreate', 'getlo', 'loimport' ):
-			if not hasattr(self,e) and hasattr(self.db,e):
-				exec 'self.%s = self.db.%s' % ( e, e )
+		# Create convience methods, in a way that is still overridable
+		# (members are not copied because they are actually functions)
+		for e in self.db.__methods__:
+			setattr(self, e, getattr(self.db, e))
 
 		self.__attnames__ = {}
 		self.__pkeys__ = {}