python + postgres psql + os.popen

Laszlo Nagy gandalf at designaproduct.biz
Thu Jun 22 03:11:36 EDT 2006


damacy írta:
> hello, everyone.
>
> i am trying to write a program which executes SQL commands stored in
> .sql files.
>
> i wrote a function called psql() whose contents look like the
> following.
>
> ...
> os.popen(command)
> file = os.popen(command, 'w')
> file.write(password)
> file.close()
> ...
>
> where command looks like
> psql -h [host] -d [dbname] -U [username] -W -f "[filename]"
>
> this works well. however, it does not show me any warning nor error
> messages if there is one. for example, i am trying to create a table
> which already exists in the database, it should show me a warning/error
> message saying there already is one present in the database, or
> something like that.
>
> can anyone help me?
>   
You can put this in the beginning of your SQL file:

\set ON_ERROR_STOP

If you also want to know what command caused the error:

\set ECHO all

You can also use a library written for Python. For example, psycopg 

http://initd.org/projects/psycopg1

Best,

    Laszlo





More information about the Python-list mailing list