Re: [postgis-users] How to sql scripts in a file?

From: Giuseppe Broccolo <g(dot)broccolo(dot)7(at)gmail(dot)com>
To: PostGIS Users Discussion <postgis-users(at)lists(dot)osgeo(dot)org>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: [postgis-users] How to sql scripts in a file?
Date: 2020-04-23 13:37:24
Message-ID: CAFtuf8D_vPyEqmUdqOgr2GkBHePt-EPeJRzJYA26FXGwN54Gzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi John,

I guess you are using Psycopg2 as driver to PostgreSQL here (please add
further details about your setup).

Assuming Psycopg2: I guess that is because actions are not committed in
your snippet. You may be interested to
set autocommit for the execution of the script, even better to manage
properly transactions, see the documentation
here: https://www.psycopg.org/docs/usage.html#transactions-control

For instance, I'd use context managers for connectors and cursors
(available from version 2.5):

sqlF = r'{}\{}'.format(sFldr_sql,sSQLFile)
with psycopg2.connect(...) as conn:
with conn.cursor() as cur:
curs.execute(open(sqlF,'r').read())

So that if no exception has been raised, the transaction is committed.
In case of exception the transaction
is rolled back. Also the cursor is then properly closed, without
affecting the transaction.

Giuseppe.

Il giorno gio 23 apr 2020 alle ore 13:43 John Zhang <johnzhang06(at)gmail(dot)com>
ha scritto:

> Hello all,
>
> I have a need to execute sql scripts in a file with comments in Python
> 2.7.
> here is m code snippet:
>
> sqlF = r'{}\{}'.format(sFldr_sql,sSQLFile)
> sql_file_contents = open(sqlF,'r').read()
> cur.execute(sql_file_contents)
>
> the file can be executed from pgAdmin successfully. However, the code
> above runs quietly without any issues raised but NO results was worked out.
>
> In the sql file, there are scripts to DROP FUNCTION IF EXISTS and CREATE
> OR REPLACE FUNCTION.
>
> Your input to shed light on it would be much appreciated.
>
> Thank you
>
> --
> Yours sincerely,
>
>
> John Zhang
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users(at)lists(dot)osgeo(dot)org
> https://lists.osgeo.org/mailman/listinfo/postgis-users

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message John Zhang 2020-04-23 16:08:54 Re: [postgis-users] How to sql scripts in a file?
Previous Message Sándor Daku 2020-04-23 13:08:19 Fwd: How to sql scripts in a file?