Problem opting in to external PostgreSQL 11 DB (omnibus)


I have a GitLab Community Edition Omnibus installation running v12.9.2 with an external PostgreSQL 11.5 RDS instance.

We recently upgraded our RDS instance’s PostgreSQL engine from 9 to 11.5 (planning to get this to 11.6 during our next maintenance window) and I am having issues getting the gitlab-ctl reconfigure to recognize that this is now a PostgreSQL 11 database. It appears to be configuring itself to use the binaries from 10.12, which I assume is the default.

All of the in use binaries have symlinks in /opt/gitlab/embedded/bin/ that go back to /opt/gitlab/embedded/postgresql/VERSION/bin/ where VERSION is either 9, 10, or 11. I have verified that if I manually redo these symlinks that it will likely work, however if a reconfigure is run it will revert the symlinks to using the /opt/gitlab/embedded/postgresql/10/bin/ path binaries which will throw an error with the version 11 database.

In a normal all-in-one GitLab installation you would use gitlab-ctl pg-upgrade -V 11 to indicate that you want to “opt-in” for PostgreSQL 11. However, since I am using an external database, this command will fail without taking any actions and rightly so because this command can only work with a local built in PostgreSQL installation.

Does anyone know what magic I need to cast in order to get my Omnibus GitLab with an external PostgreSQL 11 database to “opt-in” to using a PostgreSQL 11 and create the correct binary symlinks?