exception handling; python program that interacts with postgresql db
damacy
wegein at gmail.com
Mon Aug 21 23:13:36 EDT 2006
thanks. i started to use psycopg.
however, i have this error message and i don't quite get what it means.
it says "DROP DATABASE cannot run inside a transaction block".
does anyone have a clue?
Tim Roberts wrote:
> "damacy" <wegein at gmail.com> wrote:
>
> >hi, there. i have this question which might sound quite stupid to some
> >people, but here we go anyway.
> >
> >i have written a python program which interacts with a postgresql
> >database. what it does is simply drops an existing database called
> >'mytempdb'.
> >
> >the code looks like below;
> >
> >link = subprocess.Popen(command, stdin = subprocess.PIPE, stdout =
> >subprocess.PIPE, shell = True)
> >link.communicate(password)
> >link.wait()
> >
> >where command looks like "psql -h 127.0.0.1 -U postgres -W -f filename"
> >and
> >filename is the name of the file which contains a single SQL command
> >which is "drop database mytempdb".
>
> hiaips is right. The right way to do this is to use a Postgres module.
> psycopg is my favorite, but there are several alternatives.
>
> import psycopg
> db = psycopg.connect(
> "dbname=template1 user=postgres password=%s" % password )
> c = db.cursor()
> c.execute( "drop database mytempdb;" )
> --
> - Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
More information about the Python-list
mailing list