Change is behavior of `unix_socket_directory` value for non-standard data locations
Zendesk: https://gitlab.zendesk.com/agent/tickets/109332
A customer has a non-standard PostgreSQL data location. They've set the following configuration in /etc/gitlab/gitlab.rb and the configuration worked up until the 11.5 upgrade.
postgresql['data_dir'] = "/srv/data/gitlab/postgresql/data"
postgresql['dir'] = "/srv/data/gitlab/postgresql"
postgresql['home'] = "/srv/data/gitlab/postgresql"
The issue seems to be a change in behavior of the unix_socket_directory value. Technically I think 11.5 has fixed what has been a long-time bug. However, since PostgreSQL does not automatically restart on reconfigure, it caused an issue now.
Prior to 11.5, the configuration above would produce a unix_socket_directory value of the default /var/opt/gitlab/postgresql. This means that the gitlab.yml, the postgresql.conf and the gitlab-psql-rc file all pointed at the default /var/opt/gitlab/postgresql location for the socket. This wasn't a big deal because it was just the socket and no data was stored in this location.
After the upgrade to 11.5, the unix_socket_directory value is now aligned with the data_dir and dir values and is set to /srv/data/gitlab/postgresql. GitLab immediately points to the new location because a reconfigure causes a restart. The PostgreSQL configuration values are also updated correctly however the service is not restarted.
The tricky part here is that technically 11.5 fixes a bug and it's more right now than it was before. The problem is that this will cause issues for anyone upgrading from an earlier version to 11.5 if they have a non-standard data directory specified.
With that in mind, is the best path to do nothing or to change it back?