DDLs in Transactions...?
How does PG handle DDL statements that are wrapped in a transaction?
Does it roll them back if one fails, or is it like Oracle?
Where is this documented?
Thanks.
Looks like it supports transactions:
[postgres@drow postgres]$ /usr/local/pgsql/bin/psql template1
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
template1=# begin;
BEGIN
template1=# create table intransaction (field1 int);
CREATE
template1=# rollback;
ROLLBACK
template1=# select * from intransaction;
ERROR: Relation 'intransaction' does not exist
template1=# begin;
BEGIN
template1=# create table intransaction (field1 int);
CREATE
template1=# commit;
COMMIT
template1=# select * from intransaction ;
field1
--------
(0 rows)
template1=# begin;
BEGIN
template1=# drop table intransaction;
DROP
template1=# rollback;
ROLLBACK
template1=# select * from intransaction ;
field1
--------
(0 rows)
template1=# begin;
BEGIN
template1=# drop table intransaction;
DROP
template1=# commit;
COMMIT
template1=# select * from intransaction;
ERROR: Relation 'intransaction' does not exist
template1=#
Cheers,
Mark Pritchard
Show quoted text
-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of James Thornton
Sent: Sunday, 30 December 2001 8:12 AM
To: pgsql-hackers@postgresql.org
Subject: [HACKERS] DDLs in Transactions...?How does PG handle DDL statements that are wrapped in a transaction?
Does it roll them back if one fails, or is it like Oracle?Where is this documented?
Thanks.
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?