Search Postgresql Archives

Re: plpython/python string formatting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/16/22 16:42, Ted Toth wrote:
I've just started playing with plpython but ran into a issue when I
was trying to use standard python string formatting to generate a SQL
string for example:
s = "EXECUTE format('CREATE INDEX %s ON %s USING (column_name)' %
(index_name, table_name))"

but plpython then tried to run the EXECUTE instead of just setting
variable 's'. Why does this happen?


Or if you want to correctly quote the identifiers something like:

create table test_tbl(id integer);

DO $$
    index_name = 'test'
    table_name = 'test_tbl'
s = 'CREATE INDEX "' + index_name + '" ' + 'ON "' + table_name + '" (id)'
    plpy.notice(s)
    plpy.execute(s)
$$ LANGUAGE plpythonu;


NOTICE:  CREATE INDEX "test" ON "test_tbl" (id)
DO

\d test_tbl
              Table "public.test_tbl"
 Column |  Type   | Collation | Nullable | Default
--------+---------+-----------+----------+---------
 id     | integer |           |          |
Indexes:
    "test" btree (id)



Ted




--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux