Change is behavior of `unix_socket_directory` value for non-standard data locations
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
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
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?