Geo: Make foreign data wrapper a hard requirement
Problem to solve
Foreign Data Wrapper (FDW) is a feature built-in in PostgreSQL. It allows data to be queried from different data sources. In Geo, it’s used to query data from different PostgreSQL instances (source: documentation). It also improves the performance of some queries, especially for Finders, which look up projects or attachments in the tracking database and main database. FDW allows finders to perform JOIN
operations across the tracking and the main database (source: documentation).
Currently, FDW is only a soft requirement for the use of Geo; however, we believe that the performance improvements and implications for selective sync warrant making FDW a hard requirement. This will raise the minimum PostgreSQL version to 9.6.
This is also a prerequisite to improving the performance of selective sync queries for Geo: https://gitlab.com/gitlab-org/gitlab-ee/issues/7109#note_136712102
Intended users
- Devon (DevOps Engineer)
Further details
- Based on the test results from https://gitlab.com/gitlab-org/gitlab-ee/issues/10965 we can make FDW a hard requirement on a major version bump.
- Finder queries requiring FDW: https://gitlab.com/gitlab-org/gitlab-ee/tree/master/ee/app/finders/geo
Proposal
Make FDW a hard requirement for using Geo starting with version 12.0.