Skip to content

Upgrade pagila to current upstream with pgvector support - #11

Merged
aa8y merged 1 commit into
masterfrom
pagila-pgvector-upgrade
Aug 31, 2026
Merged

Upgrade pagila to current upstream with pgvector support#11
aa8y merged 1 commit into
masterfrom
pagila-pgvector-upgrade

Conversation

@aa8y

@aa8y aa8y commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Summary

Pagila was pinned to pre-2026-07 commit e0e35a6 because upstream added a pgvector example (CREATE EXTENSION vector, film_embedding) that postgres:18-alpine cannot satisfy — init aborted and the container never became ready. This upgrades pagila properly instead of staying pinned:

  • postgres/Dockerfile: new pgvector build stage on postgres:18-alpine, pinned to release v0.8.6. Built with OPTFLAGS= (drops -march=native for the multi-platform build) and with_llvm=no (skips JIT bitcode, so no clang/llvm build deps). The final image gains only vector.so + the extension control/sql files, keeping size growth minimal. Note this ships pgvector in every postgres-dataset image, since the Dockerfile is shared and dataset-agnostic.
  • manifest.yml: pagila's extractUrl/sqlFiles repointed at pinned commit eddcfc4513dab4239ee1acbdf52beb1f5fcf50ac (upstream HEAD as of 2026-08-06). Still a pinned tarball — not tracking HEAD — with the entry's comment updated to describe the deliberate-bump procedure.
  • test/config/pagila.yaml: assertions for the new film_embedding table plus file-existence checks for vector.so and vector.control, so dropping pgvector from the image fails loudly at structure-test time.
  • test/expected/pagila.json: re-recorded via run.sh --update — 22 → 71 tables (film_embedding at 1000 rows, payment partitions through 2026-07, and grown base tables: payment 16049 → 51061, rental 16044 → 51805, customer 599 → 999).

Test plan

Verified locally per repo convention:

  • dave build -c postgres -t pagila succeeds
  • dave structure-test -c postgres -t pagila — 9/9 pass
  • dave test -c postgres -t pagila — container boots (init runs the dump's CREATE EXTENSION vector cleanly, previously the aborting statement) and all 71 table counts match

🤖 Generated with Claude Code

Pagila was pinned to a pre-2026-07 commit because upstream added a
pgvector example (CREATE EXTENSION vector, film_embedding) that
postgres:18-alpine cannot satisfy -- init aborted and the container
never became ready.

* Compile pgvector v0.8.6 in a dedicated build stage (OPTFLAGS= for
  cross-platform portability, with_llvm=no to skip bitcode) and copy
  only the .so + extension control/sql files into the final image.
* Repoint pagila's extractUrl at pinned commit eddcfc4 (2026-08-06
  upstream HEAD); still a pinned tarball, bumped deliberately.
* Re-record expected counts (22 -> 71 tables: film_embedding, payment
  partitions through 2026-07, larger base tables) and extend the
  structure test with film_embedding and pgvector file assertions.

Verified locally: dave build, structure-test (9/9), and dave test
(71 tables with matching counts) all pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@aa8y
aa8y merged commit d65a313 into master Aug 31, 2026
12 checks passed
@aa8y
aa8y deleted the pagila-pgvector-upgrade branch August 31, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant