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

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: "Abraham, Danny" <danny_abraham(at)bmc(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Is there a way to run CREATE TABLESPACE within a stored procedure?
Date: 2007-07-20 14:14:15
Message-ID: 20070720141415.GB85514@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Jessica Richard 2007-07-20 16:06:53 "_" in a serach pattern
Previous Message Dimitri Fontaine 2007-07-20 13:01:49 SkyTools Londiste HowTo