PostgreSQL 17 with pgvector on Ubuntu 24.04 LTS
بواسطة cloudimg
PostgreSQL 17 with pgvector: a ready-to-use vector database for embeddings and RAG
PostgreSQL 17 with pgvector on Ubuntu 24.04 LTS
This image pairs the proven PostgreSQL 17 relational database with pgvector, the open-source extension that adds a native vector data type, distance operators and approximate nearest-neighbour indexes. The result is a single appliance that stores high-dimensional embeddings next to ordinary relational data and ranks rows by similarity to a query vector - the storage layer behind semantic search and retrieval-augmented generation (RAG). It is CPU-only and needs no GPU.
PostgreSQL 17 and the matching postgresql-17-pgvector package are installed from the official PostgreSQL PGDG repository. The pgvector extension is pre-enabled in a default database named vectordb, which also ships a small demo items table with a vector column and an HNSW index, so you can run a nearest-neighbour query the moment the VM boots.
Secure by default
The postgres superuser role is password-less by construction: a fresh install leaves it with no password and the captured image ships that way, so there is no default or blank password to discover. On first boot each VM generates a unique password for the postgres role and a unique self-signed TLS server certificate, writes them to a root-only credentials file, then enables TLS. Remote clients are accepted only over TLS (hostssl with scram-sha-256); on-box administration stays password-less through the local unix socket. Until first boot mints the certificate, the database is not reachable off-box at all.
What is included
- PostgreSQL 17 from the official PGDG repository, running under systemd
- The pgvector extension pre-enabled in a default database, with a demo table and an HNSW index
- A per-VM postgres password and a per-VM TLS certificate generated on first boot, written to a root-only file
- pg_hba.conf configured so remote clients connect only over TLS, while local access stays password-less via the unix socket
- Unattended security upgrades left enabled so the appliance keeps receiving patches
- A paired step-by-step deployment guide and 24/7 support
Licensing
Both PostgreSQL and pgvector are distributed under the permissive PostgreSQL License and are free to use; there is no per-core or per-node software fee. The cloudimg charge ($0.04 per vCPU/hour) covers packaging, security patching, image maintenance and 24/7 support. cloudimg is not affiliated with or endorsed by the PostgreSQL Global Development Group or the pgvector project; PostgreSQL and pgvector are used here only to identify the software included in the image.