Skip to content

Docs feedback: Discuss PostgreSQL pinning when installing GitLab for use with Geo and HA

Summary

Places to update

When installing GitLab for use with HA and PostgreSQL, we should ensure that folks pin the PostgreSQL version. If they don't, they'll need the info about reverting.

https://docs.gitlab.com/omnibus/roles/index.html https://docs.gitlab.com/ee/administration/geo/setup/ https://docs.gitlab.com/omnibus/settings/database.html#revert-packaged-postgresql-server-to-previous-version

📋 Actions

  • Update this doc to clarify how to specify a specific version: gitlab-ctl revert-pg-upgrade -V 12
  • Update the Geo troubleshooting docs to clarify that these steps are required when this situation is encountered
    • See !90592 (merged) where we previously identified the need for the troubleshooting section
  • Update the Geo installation/setup docs to prevent this situation

All of the above is in the spirit of ticket deflection.

GitLab team members with access to Zendesk can learn more in the ticket. 🎫

A summary of the relevant portions of the Slack thread available to GitLab team members with access to GitLab's Slack instance:

  • Brie: If you are installing GitLab 15 for use with Geo, you should pin PostgreSQL 12. You should do this when installing GitLab on a primary or a secondary.
  • DJ: for geo we might want to just always have pinning in the setup instructions for secondaries.
    • DJ: Not just geo actually, I think we need this for HA postgress as well if we don't already

Steps to reproduce

  1. Install GitLab 14, use as a single node (no Geo) for a while
  2. Upgrade to GitLab 15 (you'll have PostgreSQL 12)
  3. Install GitLab 15 on a node that you intend to use as a Geo secondary
  4. Observe warnings about unrecognized PostgreSQL configuration items (wal_keep_size)

The answer:

  • Revert to PostgreSQL 12 on the node that will act as the secondary

Example Project

What is the current bug behavior?

What is the expected correct behavior?

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info

(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:env:info`)

(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)

Results of GitLab application Check

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:check SANITIZE=true)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true)

(we will only investigate if the tests are passing)

Possible fixes

Edited by Brie Carranza