pgsql: pg_dump: provide a stable sort order for rules.

2025-07-31 Thread Noah Misch
pg_dump: provide a stable sort order for rules. Previously, we sorted rules by schema name and then rule name; if that wasn't unique, we sorted by rule OID. This can be problematic for comparing dumps from databases with different histories, especially since certain rule names like "_RETURN" are

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: pg_dump: provide a stable sort order for rules.

2025-07-31 Thread Noah Misch
pg_dump: provide a stable sort order for rules. Previously, we sorted rules by schema name and then rule name; if that wasn't unique, we sorted by rule OID. This can be problematic for comparing dumps from databases with different histories, especially since certain rule names like "_RETURN" are

pgsql: pg_dump: provide a stable sort order for rules.

2025-07-31 Thread Noah Misch
pg_dump: provide a stable sort order for rules. Previously, we sorted rules by schema name and then rule name; if that wasn't unique, we sorted by rule OID. This can be problematic for comparing dumps from databases with different histories, especially since certain rule names like "_RETURN" are

pgsql: pg_dump: provide a stable sort order for rules.

2025-07-31 Thread Noah Misch
pg_dump: provide a stable sort order for rules. Previously, we sorted rules by schema name and then rule name; if that wasn't unique, we sorted by rule OID. This can be problematic for comparing dumps from databases with different histories, especially since certain rule names like "_RETURN" are

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: pg_dump: provide a stable sort order for rules.

2025-07-31 Thread Noah Misch
pg_dump: provide a stable sort order for rules. Previously, we sorted rules by schema name and then rule name; if that wasn't unique, we sorted by rule OID. This can be problematic for comparing dumps from databases with different histories, especially since certain rule names like "_RETURN" are

pgsql: Sort dump objects independent of OIDs, for the 7 holdout object

2025-07-31 Thread Noah Misch
Sort dump objects independent of OIDs, for the 7 holdout object types. pg_dump sorts objects by their logical names, e.g. (nspname, relname, tgname), before dependency-driven reordering. That removes one source of logically-identical databases differing in their schema-only dumps. In other words,

pgsql: Schema-qualify unnest() in ALTER DATABASE ... RESET

2025-07-31 Thread Tomas Vondra
Schema-qualify unnest() in ALTER DATABASE ... RESET Commit 9df8727c5067 failed to schema-quality the unnest() call in the query used to list the variables in ALTER DATABASE ... RESET. If there's another unnest() function in the search_path, this could cause either failures, or even security issues

pgsql: Fix tab completion for ALTER ROLE|USER ... RESET

2025-07-31 Thread Tomas Vondra
Fix tab completion for ALTER ROLE|USER ... RESET Commit c407d5426b87 added tab completion for ALTER ROLE|USER ... RESET, with the intent to offer only the variables actually set on the role. But as soon as the user started typing something, it would start to offer all possible matching variables.

pgsql: Schema-qualify unnest() in ALTER DATABASE ... RESET

2025-07-31 Thread Tomas Vondra
Schema-qualify unnest() in ALTER DATABASE ... RESET Commit 9df8727c5067 failed to schema-quality the unnest() call in the query used to list the variables in ALTER DATABASE ... RESET. If there's another unnest() function in the search_path, this could cause either failures, or even security issues

pgsql: Fix tab completion for ALTER ROLE|USER ... RESET

2025-07-31 Thread Tomas Vondra
Fix tab completion for ALTER ROLE|USER ... RESET Commit c407d5426b87 added tab completion for ALTER ROLE|USER ... RESET, with the intent to offer only the variables actually set on the role. But as soon as the user started typing something, it would start to offer all possible matching variables.