BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension
От | PG Bug reporting form |
---|---|
Тема | BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension |
Дата | |
Msg-id | 151845695673.1447.1976587386911561582@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 15061 Logged by: Christoph Berg Email address: myon@debian.org PostgreSQL version: 10.2 Operating system: Debian Description: For upgrading the data tables in my "unit" extension, I want to create temporary tables to hold data before it is merged into the real tables. Unfortunately it doesn't let me create the TEMP tables as ON COMMIT DROP: $ cat tmptblbug.control default_version = '1' $ cat tmptblbug--1.sql create temp table foo (id int) on commit drop; $ cat Makefile EXTENSION = tmptblbug DATA = tmptblbug--1.sql PG_CONFIG = pg_config PGXS = $(shell $(PG_CONFIG) --pgxs) include $(PGXS) postgres=# create extension tmptblbug; ERROR: cannot drop table foo because extension tmptblbug requires it TIP: You can drop extension tmptblbug instead. Real-world use case: https://github.com/ChristophBerg/postgresql-unit/blob/master/unit--6.sql.in#L60-L83 Seen on 10.2 and git HEAD. Workarounds: 1) Explicitly drop the table within the .control file 2) Don't use ON COMMIT DROP (but that leaks the temp tables to the invoking session) (Docs mention the possibility to create temp objects within the .control file, so it's definitely meant to be supported.) Thanks, Christoph
В списке pgsql-bugs по дате отправления: