{"record":{"id":"558e8323fa7694e4","repo":"langchain-ai/langgraph","slug":"asyncshallowpostgressaver-is-deprecated-as-of-vers","errorCode":null,"errorMessage":"AsyncShallowPostgresSaver is deprecated as of version 2.0.20 and will be removed in 3.0.0. Use AsyncPostgresSaver instead, and invoke the graph with `await graph.ainvoke(..., durability='exit')`.","messagePattern":"AsyncShallowPostgresSaver is deprecated as of version 2\\.0\\.20 and will be removed in 3\\.0\\.0\\. Use AsyncPostgresSaver instead, and invoke the graph with `await graph\\.ainvoke\\(\\.\\.\\., durability='exit'\\)`\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"libs/checkpoint-postgres/langgraph/checkpoint/postgres/shallow.py","lineNumber":551,"sourceCode":"    It is meant to be a light-weight drop-in replacement for the AsyncPostgresSaver that\n    supports most of the LangGraph persistence functionality with the exception of time travel.\n    \"\"\"\n\n    SELECT_SQL = SELECT_SQL\n    MIGRATIONS = MIGRATIONS\n    UPSERT_CHECKPOINT_BLOBS_SQL = UPSERT_CHECKPOINT_BLOBS_SQL\n    UPSERT_CHECKPOINTS_SQL = UPSERT_CHECKPOINTS_SQL\n    UPSERT_CHECKPOINT_WRITES_SQL = UPSERT_CHECKPOINT_WRITES_SQL\n    INSERT_CHECKPOINT_WRITES_SQL = INSERT_CHECKPOINT_WRITES_SQL\n    lock: asyncio.Lock\n\n    def __init__(\n        self,\n        conn: _ainternal.Conn,\n        pipe: AsyncPipeline | None = None,\n        serde: SerializerProtocol | None = None,\n    ) -> None:\n        warnings.warn(\n            \"AsyncShallowPostgresSaver is deprecated as of version 2.0.20 and will be removed in 3.0.0. \"\n            \"Use AsyncPostgresSaver instead, and invoke the graph with `await graph.ainvoke(..., durability='exit')`.\",\n            DeprecationWarning,\n            stacklevel=2,\n        )\n        super().__init__(serde=serde)\n        if isinstance(conn, AsyncConnectionPool) and pipe is not None:\n            raise ValueError(\n                \"Pipeline should be used only with a single AsyncConnection, not AsyncConnectionPool.\"\n            )\n\n        self.conn = conn\n        self.pipe = pipe\n        self.lock = asyncio.Lock()\n        self.loop = asyncio.get_running_loop()\n        self.supports_pipeline = Capabilities().has_pipeline()\n\n    @classmethod","sourceCodeStart":533,"sourceCodeEnd":569,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/checkpoint-postgres/langgraph/checkpoint/postgres/shallow.py#L533-L569","documentation":"Error \"AsyncShallowPostgresSaver is deprecated as of version 2.0.20 and will be removed in 3.0.0. Use AsyncPostgresSaver instead, and invoke the graph with `await graph.ainvoke(..., durability='exit')`.\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/checkpoint-postgres/langgraph/checkpoint/postgres/shallow.py:551 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}