{
    "content": [
        {
            "type": "text",
            "text": "# psycopg2 (pydoc)\n\n**Summary:** psycopg2 - A Python driver for PostgreSQL\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **DESCRIPTION** (16 lines)\n- **PACKAGE CONTENTS** (12 lines)\n- **SUBMODULES** (2 lines)\n- **CLASSES** (12 lines) — 10 subsections\n  - class DataError (86 lines)\n  - class DatabaseError (85 lines)\n  - class Error (78 lines)\n  - class IntegrityError (86 lines)\n  - class InterfaceError (85 lines)\n  - class InternalError (86 lines)\n  - class NotSupportedError (86 lines)\n  - class OperationalError (86 lines)\n  - class ProgrammingError (86 lines)\n  - class Warning (69 lines)\n- **FUNCTIONS** (36 lines) — 1 subsections\n  - connect (32 lines)\n- **DATA** (10 lines)\n- **VERSION** (2 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\npsycopg2 - A Python driver for PostgreSQL\n\n### DESCRIPTION\n\npsycopg 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\n### PACKAGE CONTENTS\n\nipaddress\njson\npsycopg\nrange\nerrorcodes\nerrors\nextensions\nextras\npool\nsql\ntz\n\n### SUBMODULES\n\next\n\n### CLASSES\n\nbuiltins.Exception(builtins.BaseException)\nError\nDatabaseError\nDataError\nIntegrityError\nInternalError\nNotSupportedError\nOperationalError\nProgrammingError\nInterfaceError\nWarning\n\n#### class DataError\n\n|  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\n#### class DatabaseError\n\n|  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\n#### class Error\n\n|  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\n#### class IntegrityError\n\n|  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\n#### class InterfaceError\n\n|  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\n#### class InternalError\n\n|  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\n#### class NotSupportedError\n\n|  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\n#### class OperationalError\n\n|  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\n#### class ProgrammingError\n\n|  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\n#### class Warning\n\n|  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\n### FUNCTIONS\n\nDate(...)\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\n#### connect\n\nCreate 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\n### DATA\n\nBINARY = <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\n### VERSION\n\n2.9.2 (dt dec pq3 ext lo64)\n\n### FILE\n\n/usr/lib/python3/dist-packages/psycopg2/init.py\n\n"
        }
    ],
    "structuredContent": {
        "command": "psycopg2",
        "section": "",
        "mode": "pydoc",
        "summary": "psycopg2 - A Python driver for PostgreSQL",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 16,
                "subsections": []
            },
            {
                "name": "PACKAGE CONTENTS",
                "lines": 12,
                "subsections": []
            },
            {
                "name": "SUBMODULES",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "CLASSES",
                "lines": 12,
                "subsections": [
                    {
                        "name": "class DataError",
                        "lines": 86
                    },
                    {
                        "name": "class DatabaseError",
                        "lines": 85
                    },
                    {
                        "name": "class Error",
                        "lines": 78
                    },
                    {
                        "name": "class IntegrityError",
                        "lines": 86
                    },
                    {
                        "name": "class InterfaceError",
                        "lines": 85
                    },
                    {
                        "name": "class InternalError",
                        "lines": 86
                    },
                    {
                        "name": "class NotSupportedError",
                        "lines": 86
                    },
                    {
                        "name": "class OperationalError",
                        "lines": 86
                    },
                    {
                        "name": "class ProgrammingError",
                        "lines": 86
                    },
                    {
                        "name": "class Warning",
                        "lines": 69
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 36,
                "subsections": [
                    {
                        "name": "connect",
                        "lines": 32
                    }
                ]
            },
            {
                "name": "DATA",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}