Обсуждение: Is there a way to run CREATE TABLESPACE within a stored procedure?

Поиск
Список
Период
Сортировка

Is there a way to run CREATE TABLESPACE within a stored procedure?

От
"Abraham, Danny"
Дата:
Fails on: Cannot run inside a transaction block.
Thanks
Danny


Re: Is there a way to run CREATE TABLESPACE within a stored procedure?

От
Michael Fuhr
Дата:
On Thu, Jul 19, 2007 at 02:53:50PM +0300, Abraham, Danny wrote:
> Fails on: Cannot run inside a transaction block.

PostgreSQL functions run in the context of a transaction so they
can't execute statements that aren't allowed inside a transaction
block.  A workaround is to have the function connect to the database
via contrib/dblink (or dbi-link, or some such mechanism) and execute
the statements over that connection.  Caveat: if the function's
transaction rolls back then statements already committed over the
connection won't be rolled back.

--
Michael Fuhr