xataio / pgroll

PostgreSQL zero-downtime migrations made easy
https://www.xata.io
Apache License 2.0
2.97k stars 54 forks source link

Restrict state connection search path #342

Closed andrew-farries closed 4 months ago

andrew-farries commented 4 months ago

Restrict the search path of the connection used by the state package to only the state schema (the schema that contains the migrations table).

This ensures that any column types that might reside in other schema are always qualified with the schema name in the internal schema representation. Without the restriction of the search path, these type names would be unqualified if they lived in a schema that was on the search path used by the state connection.

The representation (qualified/unqualified) of type names in the internal schema is ultimately due to how the format-type function behaves; types in the search_path of the caller are unqualified, otherwise they are qualified.