The official documentation is event wrong, when you execute the following command:
docker compose run --rm -T postgres bash -c "apt update && apt install -y --no-install-recommends postgresql-14-repack && su postgres -c 'pg_repack -E info -t nodestore_node'"
You will get the following error:
Removing obsolete dictionary files:
ERROR: could not connect to database: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
This issue has been tracked on GitHub but does not have a solution. Here’s my solution:
docker compose -f docker-compose.yml -f docker-compose.override.yml --env-file /srv/git/sentry/.env.custom exec -T postgres bash -c "
apt update && apt install -y --no-install-recommends postgresql-14-repack &&
su postgres -c 'psql -c \"CREATE EXTENSION IF NOT EXISTS pg_repack;\"' &&
su postgres -c 'pg_repack -E info -t nodestore_node'
"