Exec runs raw SQL against the container — for seeding and assertions.
Tests should use the *pgdb.Postgres returned from New for the code under
test; this is just for setup and teardown plumbing.
New returns a *pgdb.Postgres backed by a testcontainers Postgres.
The container is booted lazily on first call and reused for the life of
the test process.