Make PG 17 minimum required version to upgrade to 19.0
## Summary
PostgreSQL 17 is the minimum required version for GitLab 19.0. This issue tracks the work to enforce PG 17 as the minimum version during package upgrades.
Similar to how PG 16 was enforced for GitLab 18.0 in https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/8368+.
## What needs to be done
The following files need to be updated (mirroring the changes in [!8368](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/8368), but bumping from 16 → 17):
- **`config/templates/package-scripts/preinst.erb`** - Update `PG_MIN_VERSION` from `16` to `17`
- **`docker/assets/init-container`** - Set `ATTEMPT_AUTO_PG_UPGRADE='false'` (once PG 17 is the opt-in version and not yet the default for `pg-upgrade`)
- **`files/gitlab-cookbooks/gitlab/recipes/database_migrations.rb`** - Update version check from `< 16` to `< 17` and update warning message to reference PG 17 as minimum for GitLab 19.0 and removal of PG 16 support
- **`files/gitlab-cookbooks/postgresql/recipes/bin.rb`** - Update deprecation warning message and version guard from `>= 16` to `>= 17`
- **`files/gitlab-ctl-commands/pg-upgrade.rb`** - Update deprecation version checks from `< 16` to `< 17`; update `default_version` logic once PG 17 becomes the default
- **`files/gitlab-ctl-commands/upgrade.rb`** - Update `attempt_auto_pg_upgrade?` return value accordingly
- **`spec/chef/cookbooks/gitlab/recipes/database_migrations_spec.rb`** - Update test stubs and assertions to reflect PG 17 minimum and removal of PG 16 support
## Testing
1. Install GitLab 18.x, but do not run reconfigure
2. Set `postgresql['version'] = 15` in `gitlab.rb` and run reconfigure
3. Try to update to this MR and confirm that `preinst` fails
4. Drop `postgresql['version'] = 15` from `gitlab.rb` and run reconfigure
5. Upgrade PG using `gitlab-ctl pg-upgrade`
6. Try to update to this MR and confirm it succeeds
issue