DDLs in Transactions...?

Started by Nonameabout 24 years ago2 messages
#1Noname
james@unifiedmind.com

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.

#2Mark Pritchard
mark@tangent.net.au
In reply to: Noname (#1)
Re: DDLs in Transactions...?

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?

http://www.postgresql.org/users-lounge/docs/faq.html