{"record":{"id":"c269924a739cc79f","repo":"mem0ai/mem0","slug":"neither-psycopg-nor-psycopg2-library-is-availa","errorCode":null,"errorMessage":"Neither 'psycopg' nor 'psycopg2' library is available. Please install one of them using 'pip install psycopg[pool]' or 'pip install psycopg2'","messagePattern":"Neither 'psycopg' nor 'psycopg2' library is available\\. Please install one of them using 'pip install psycopg\\[pool\\]' or 'pip install psycopg2'","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"mem0/vector_stores/pgvector.py","lineNumber":27,"sourceCode":"\n# Try to import psycopg (psycopg3) first, then fall back to psycopg2\ntry:\n    from psycopg import sql\n    from psycopg.types.json import Json\n    from psycopg_pool import ConnectionPool\n    PSYCOPG_VERSION = 3\n    logger = logging.getLogger(__name__)\n    logger.info(\"Using psycopg (psycopg3) with ConnectionPool for PostgreSQL connections\")\nexcept ImportError:\n    try:\n        from psycopg2 import sql\n        from psycopg2.extras import Json, execute_values\n        from psycopg2.pool import ThreadedConnectionPool as ConnectionPool\n        PSYCOPG_VERSION = 2\n        logger = logging.getLogger(__name__)\n        logger.info(\"Using psycopg2 with ThreadedConnectionPool for PostgreSQL connections\")\n    except ImportError:\n        raise ImportError(\n            \"Neither 'psycopg' nor 'psycopg2' library is available. \"\n            \"Please install one of them using 'pip install psycopg[pool]' or 'pip install psycopg2'\"\n        )\n\nfrom mem0.vector_stores.base import VectorStoreBase\n\nlogger = logging.getLogger(__name__)\n\nOPERATOR_SQL_MAP = {\n    \"eq\": (\"payload->>%s = %s\", False),\n    \"ne\": (\"payload->>%s != %s\", False),\n    \"gt\": (\"(payload->>%s)::numeric > %s\", True),\n    \"gte\": (\"(payload->>%s)::numeric >= %s\", True),\n    \"lt\": (\"(payload->>%s)::numeric < %s\", True),\n    \"lte\": (\"(payload->>%s)::numeric <= %s\", True),\n    \"in\": (\"payload->>%s = ANY(%s)\", False),\n    \"nin\": (\"NOT (payload->>%s = ANY(%s))\", False),\n    \"contains\": (\"payload->>%s LIKE %s\", False),","sourceCodeStart":9,"sourceCodeEnd":45,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/vector_stores/pgvector.py#L9-L45","documentation":"Error \"Neither 'psycopg' nor 'psycopg2' library is available. Please install one of them using 'pip install psycopg[pool]' or 'pip install psycopg2'\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at mem0/vector_stores/pgvector.py:27 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the driver: pip install 'psycopg[pool]' or pip install psycopg2."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}