in files/gitlab-ctl-commands/upgrade.rb [223:254]
def pg_upgrade_check
return unless postgresql_detected?
manifest_file = '/opt/gitlab/version-manifest.txt'
return unless File.exist?(manifest_file)
manifest_entry = File.readlines(manifest_file).grep(/postgresql_new/).first
return unless manifest_entry
return unless recommend_pg_upgrade?
new_version = PGVersion.parse(manifest_entry&.split&.[](1))
pg_version_file = '/var/opt/gitlab/postgresql/data/PG_VERSION'
installed_version = PGVersion.parse(File.read(pg_version_file).strip) if File.exist?(pg_version_file)
outdated_db = installed_version && new_version && new_version.major.to_f > installed_version.major.to_f
return unless outdated_db
puts '=== INFO ==='
puts "You are currently running PostgreSQL #{installed_version}."
puts "Note that PostgreSQL #{new_version.major} will become the minimum required PostgreSQL version in GitLab 17.0 (May 2024)."
puts "PostgreSQL #{installed_version} will be removed in GitLab 17.0. Please consider upgrading your PostgreSQL version soon."
puts "To upgrade, please see: #{pg_upgrade_doc_url}"
puts '=== INFO ==='
end