{
    "mode": "pydoc",
    "parameter": "psycopg2",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/pydoc/psycopg2/json",
    "generated": "2026-06-02T13:25:22Z",
    "sections": {
        "NAME": {
            "content": "psycopg2 - A Python driver for PostgreSQL\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "psycopg is a PostgreSQL database adapter for the Python programming\nlanguage. This is version 2, a complete rewrite of the original code to\nprovide new-style classes for connection and cursor objects and other sweet\ncandies. Like the original, psycopg 2 was written with the aim of being very\nsmall and fast, and stable as a rock.\n\nHomepage: https://psycopg.org/\n\n.. PostgreSQL: https://www.postgresql.org/\n.. Python: https://www.python.org/\n\n:Groups:\n* `Connections creation`: connect\n* `Value objects constructors`: Binary, Date, DateFromTicks, Time,\nTimeFromTicks, Timestamp, TimestampFromTicks\n",
            "subsections": []
        },
        "PACKAGE CONTENTS": {
            "content": "ipaddress\njson\npsycopg\nrange\nerrorcodes\nerrors\nextensions\nextras\npool\nsql\ntz\n",
            "subsections": []
        },
        "SUBMODULES": {
            "content": "ext\n",
            "subsections": []
        },
        "CLASSES": {
            "content": "builtins.Exception(builtins.BaseException)\nError\nDatabaseError\nDataError\nIntegrityError\nInternalError\nNotSupportedError\nOperationalError\nProgrammingError\nInterfaceError\nWarning\n",
            "subsections": [
                {
                    "name": "class DataError",
                    "content": "|  Error related to problems with the processed data.\n|\n|  Method resolution order:\n|      DataError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class DatabaseError",
                    "content": "|  Error related to the database engine.\n|\n|  Method resolution order:\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class Error",
                    "content": "|  Base class for error exceptions.\n|\n|  Method resolution order:\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class IntegrityError",
                    "content": "|  Error related to database integrity.\n|\n|  Method resolution order:\n|      IntegrityError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class InterfaceError",
                    "content": "|  Error related to the database interface.\n|\n|  Method resolution order:\n|      InterfaceError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class InternalError",
                    "content": "|  The database encountered an internal error.\n|\n|  Method resolution order:\n|      InternalError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class NotSupportedError",
                    "content": "|  A method or database API was used which is not supported by the database.\n|\n|  Method resolution order:\n|      NotSupportedError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class OperationalError",
                    "content": "|  Error related to database operation (disconnect, memory allocation etc).\n|\n|  Method resolution order:\n|      OperationalError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class ProgrammingError",
                    "content": "|  Error related to database programming (SQL error, table not found etc).\n|\n|  Method resolution order:\n|      ProgrammingError\n|      DatabaseError\n|      Error\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors inherited from DatabaseError:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from Error:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  setstate(...)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from Error:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from Error:\n|\n|  cursor\n|      The cursor that raised the exception, if available, else None\n|\n|  diag\n|      A Diagnostics object to get further information about the error\n|\n|  pgcode\n|      The error code returned by the backend, if available, else None\n|\n|  pgerror\n|      The error message returned by the backend, if available, else None\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                },
                {
                    "name": "class Warning",
                    "content": "|  A database warning.\n|\n|  Method resolution order:\n|      Warning\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.Exception:\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n"
                }
            ]
        },
        "FUNCTIONS": {
            "content": "Date(...)\nDate(year, month, day) -> new date\n\nBuild an object holding a date value.\n\nDateFromTicks(...)\nDateFromTicks(ticks) -> new date\n\nBuild an object holding a date value from the given ticks value.\n\nTicks are the number of seconds since the epoch; see the documentation of the standard Python time module for details).\n\nTime(...)\nTime(hour, minutes, seconds, tzinfo=None) -> new time\n\nBuild an object holding a time value.\n\nTimeFromTicks(...)\nTimeFromTicks(ticks) -> new time\n\nBuild an object holding a time value from the given ticks value.\n\nTicks are the number of seconds since the epoch; see the documentation of the standard Python time module for details).\n\nTimestamp(...)\nTimestamp(year, month, day, hour, minutes, seconds, tzinfo=None) -> new timestamp\n\nBuild an object holding a timestamp value.\n\nTimestampFromTicks(...)\nTimestampFromTicks(ticks) -> new timestamp\n\nBuild an object holding a timestamp value from the given ticks value.\n\nTicks are the number of seconds since the epoch; see the documentation of the standard Python time module for details).\n",
            "subsections": [
                {
                    "name": "connect",
                    "content": "Create a new database connection.\n\nThe connection parameters can be specified as a string:\n\nconn = psycopg2.connect(\"dbname=test user=postgres password=secret\")\n\nor using a set of keyword arguments:\n\nconn = psycopg2.connect(database=\"test\", user=\"postgres\", password=\"secret\")\n\nOr as a mix of both. The basic connection parameters are:\n\n- *dbname*: the database name\n- *database*: the database name (only as keyword argument)\n- *user*: user name used to authenticate\n- *password*: password used to authenticate\n- *host*: database host address (defaults to UNIX socket if not provided)\n- *port*: connection port number (defaults to 5432 if not provided)\n\nUsing the *connectionfactory* parameter a different class or connections\nfactory can be specified. It should be a callable object taking a dsn\nargument.\n\nUsing the *cursorfactory* parameter, a new default cursor factory will be\nused by cursor().\n\nUsing *async*=True an asynchronous connection will be created. *async* is\na valid alias (for Python versions where ``async`` is a keyword).\n\nAny other keyword parameter will be passed to the underlying client\nlibrary: the list of supported parameters depends on the library version.\n"
                }
            ]
        },
        "DATA": {
            "content": "BINARY = <psycopg2.psycopg.type 'BINARY'>\nDATETIME = <psycopg2.psycopg.type 'DATETIME'>\nNUMBER = <psycopg2.psycopg.type 'NUMBER'>\nROWID = <psycopg2.psycopg.type 'ROWID'>\nSTRING = <psycopg2.psycopg.type 'STRING'>\nlibpqversion = 140002\napilevel = '2.0'\nparamstyle = 'pyformat'\nthreadsafety = 2\n",
            "subsections": []
        },
        "VERSION": {
            "content": "2.9.2 (dt dec pq3 ext lo64)\n",
            "subsections": []
        },
        "FILE": {
            "content": "/usr/lib/python3/dist-packages/psycopg2/init.py\n\n",
            "subsections": []
        }
    },
    "summary": "psycopg2 - A Python driver for PostgreSQL",
    "flags": [],
    "examples": [],
    "see_also": []
}