Sushi Kitchen
Futomaki
Futomaki

PostgreSQL

futomaki.postgres

A Docker Compose file for PostgreSQL alone, generated from the catalog and checked by the safety inspector. No account needed.

Relational database with strong SQL conformance, MVCC transactions and an extension system. This image ships the pgvector extension, adding vector columns and approximate nearest-neighbour search.

PostgreSQL covers ordinary relational work — constraints, transactions, window functions, common table expressions — alongside JSONB documents, full-text search, range and geometric types, and functions written in several languages. Extensions load into a running database and add types, index methods and functions without forking the server, which is how pgvector supplies vector columns and the HNSW and IVFFlat index methods used for similarity search. Keeping embeddings in the same database as the rows they describe removes the consistency problem that a separate vector store introduces. A first deployment creates the extension, adds a vector column and runs a similarity query against it.

You know it worked when

  • The server accepts a connection with the configured credentials.
  • The vector extension is listed as installed in the target database.
  • A table with a vector column accepts inserted embeddings.
  • A nearest-neighbour query returns rows ordered by distance.
  • Data written before a restart is present afterwards.

Known sharp edges

  • A superuser password must be supplied through the environment on first start or initialisation is refused.
  • The extension is present in the image but inactive until it is created inside each database that needs it.
  • Vector indexes are approximate and built after data is loaded; querying before one exists falls back to an exhaustive scan without any warning.
  • The data directory is tied to its major version, so a version change requires a dump and reload rather than an in-place upgrade.
databaserelationalvector-search