{"record":{"id":"8b6adccde5292e33","repo":"MemPalace/mempalace","slug":"pgvector-collection-self-collection-name-r-expe","errorCode":null,"errorMessage":"pgvector collection {self._collection_name!r} expects embedding dimension {self._known_dimension}, got {dimension}","messagePattern":"pgvector collection (.+?) expects embedding dimension (.+?), got (.+?)","errorType":"exception","errorClass":"DimensionMismatchError","httpStatus":null,"severity":"error","filePath":"mempalace/backends/pgvector.py","lineNumber":871,"sourceCode":"    def _marker_exists(self) -> bool:\n        return self._backend._marker_exists(self._palace)\n\n    def get_stored_embedder_identity(self):\n        return self._backend._get_embedder_identity(self._palace, self._collection_name)\n\n    def set_embedder_identity(self, identity) -> None:\n        # Sidecar-backed (see PgVectorBackend), so this records even on a\n        # brand-new palace whose mismatch marker doesn't exist yet.\n        self._backend._set_embedder_identity(self._palace, self._collection_name, identity)\n\n    def _ensure_table(self, dimension: int) -> None:\n        if dimension <= 0:\n            raise ValueError(\"embedding dimension must be positive\")\n        with self._lock:\n            self._ensure_open()\n            if self._known_dimension is not None:\n                if self._known_dimension != dimension:\n                    raise DimensionMismatchError(\n                        f\"pgvector collection {self._collection_name!r} expects \"\n                        f\"embedding dimension {self._known_dimension}, got {dimension}\"\n                    )\n                return\n            if not self._table_exists():\n                self._client.create_table(self._table, dimension)\n                self._known_dimension = dimension\n                return\n            existing_dim = self._client.table_dimension(self._table)\n            if existing_dim is not None and existing_dim != dimension:\n                raise DimensionMismatchError(\n                    f\"pgvector collection {self._collection_name!r} expects \"\n                    f\"embedding dimension {existing_dim}, got {dimension}\"\n                )\n            self._known_dimension = existing_dim or dimension\n\n    def _scroll(\n        self,","sourceCodeStart":853,"sourceCodeEnd":889,"githubUrl":"https://github.com/MemPalace/mempalace/blob/06cb6987f02610784fefbad4b2bd5d026d164ba6/mempalace/backends/pgvector.py#L853-L889","documentation":"Error \"pgvector collection {self._collection_name!r} expects embedding dimension {self._known_dimension}, got {dimension}\" thrown in MemPalace/mempalace.","triggerScenarios":"Thrown at mempalace/backends/pgvector.py:871 when the library encounters an invalid state.","commonSituations":"Embedding model swap made current vectors incompatible with the stored dimension.","solutions":["Re-embed the palace with the matching model, or recreate the pgvector table with the expected dimension"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"06cb6987f02610784fefbad4b2bd5d026d164ba6","analyzedAt":"2026-08-15T03:03:36.213Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}