What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS?

Поиск
Список
Период
Сортировка
От Moshe Jacobson
Тема What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS?
Дата
Msg-id CAJ4CxLkPASgDgL6GoBvUwdbYmQ6=gifrwY7_0SjAOu6Wh+idBg@mail.gmail.com
обсуждение исходный текст
Ответы Re: What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS?
Re: What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS?
Список pgsql-general
I am working on an audit logging trigger that gets called for every row inserted, updated or deleted on any table.
For this, I need to store a couple of temporary session variables such as the ID of the user performing the change, which can be set at the start of the session.
Until now I have been using a permanent table to store the session variables, but it has been difficult to wipe the data properly at the end of the session.
So I have decided to try to implement them using temporary tables. 

The problem now is that for every row now, I need to check for the existence of the temporary table before I access it, in order to avoid exceptions.
Either I can do all such accesses within a BEGIN...EXCEPTION block, or I can precede any such accesses with CREATE TEMP TABLE IF NOT EXISTS.
Is one of these much faster than the other? Will I be slowing things down inordinately by doing this for every row?

Thanks.

--
Moshe Jacobson
Nead Werx, Inc. | Senior Systems Engineer
2323 Cumberland Parkway, Suite 201 | Atlanta, GA 30339
moshe@neadwerx.com | 
www.neadwerx.com

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

Предыдущее
От: Andrew Hastie
Дата:
Сообщение: Re: pg_upgrade: out of memory
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_upgrade: out of memory