Thread
Commits
-
Add missing quote_identifier calls for CREATE TRIGGER ... REFERENCING.
- 09397f0ed6c4 10.6 landed
- 350410be459c 12.0 landed
- 06292bb949e5 11.1 landed
-
BUG #15440: pg_dump does not preserve quoted identifiers for statement-level trigger transition table names
The Post Office <noreply@postgresql.org> — 2018-10-19T03:16:52Z
The following bug has been logged on the website: Bug reference: 15440 Logged by: Karl Czajkowski Email address: karlcz@isi.edu PostgreSQL version: 10.5 Operating system: Linux Description: If I create a statement-level trigger using quoted identifiers with the new transition table feature in pg10 and dump the database with pg_dump, the dumped CREATE TRIGGER statements lack quotes on the identifier. This prevents the database from properly round-tripping through dump and restore. The restored triggers will bind the unquoted identifier as the transition table names, and my trigger function will encounter errors when it uses an unknown relation. Using a simple "sed" filter to rewrite my dump file repairs the dump, since pg_dump did dump the proper mixed-case spelling of an identifier and only omitted the wrapping double-quotation marks. As an example, consider a create trigger clause like: ... REFERENCING OLD TABLE AS "_myapp_oldtuples_Mixed_Case" ... It appears in the dumped SQL as: ... REFERENCING OLD TABLE AS _myapp_oldtuples_Mixed_Case ...
-
Re: BUG #15440: pg_dump does not preserve quoted identifiers for statement-level trigger transition table names
Tom Lane <tgl@sss.pgh.pa.us> — 2018-10-19T04:35:01Z
=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes: > If I create a statement-level trigger using quoted identifiers with the new > transition table feature in pg10 and dump the database with pg_dump, the > dumped CREATE TRIGGER statements lack quotes on the identifier. Yup, missing quote_identifier calls in pg_get_triggerdef_worker. Will fix, thanks for the report! regards, tom lane