Re: BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension

Поиск
Список
Период
Сортировка
От Christoph Berg
Тема Re: BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension
Дата
Msg-id 20180222094152.GA16878@msg.df7cb.de
обсуждение исходный текст
Ответ на Re: BUG #15061: Cannot use TEMP TABLE ON COMMIT DROP in extension  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-bugs
Re: Michael Paquier 2018-02-13 <20180213052732.GF2915@paquier.xyz>
> > 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)
> 
> One dirty trick I can think of here is to directly delete
> the dependency within pg_depend, say in your extension script:
> create temp table aa (a int);
> delete from pg_depend where objid = 'aa'::regclass and refclassid = 'pg_extension'::regclass;

"drop table aa" is much easier and cleaner anyway.

> Have you actually thought about using unlogged tables?  Keeping around
> relation definitions is not a big deal usually for upgrade scenarios,
> and temporary tables generate WAL, so if you move your data with a
> two-step process you never want to generate the same WAL data twice,
> making the upgrade perform faster.

The table is only about 3000 rows, so speed is not a concern.

Christoph


В списке pgsql-bugs по дате отправления:

Предыдущее
От: 趙明春
Дата:
Сообщение: Re: BUG #15076: postmaster crashes unexpectedly when using up arrowkey in psql command
Следующее
От: Claudio Freire
Дата:
Сообщение: Re: pg_upgrade and materialized views