How can I write to a file on disk from PL/pgSQL?

前端 未结 3 1404
盖世英雄少女心
盖世英雄少女心 2021-01-25 08:37

I would like to do the equivalent of c or php fopen() and fwrite(). I am not trying to dump a table to disk. I am trying to do some debug logging during development.

3条回答
  •  花落未央
    2021-01-25 08:45

    You can use plpythonu f.open(), f.write(), f.close() within a postgres function to write to a file.

    Language extension would need to be installed.,

    https://www.postgresql.org/docs/8.3/static/plpython.html

    Working example from the mailing list. https://www.postgresql.org/message-id/flat/20041106125209.55697.qmail%40web51806.mail.yahoo.com#20041106125209.55697.qmail@web51806.mail.yahoo.com

    for example plpythonu

    CREATE FUNCTION makefile(text) RETURNS text AS '\n
    o=open("/path/to/file")
    o.write(args[0])
    o.close()
    return "ok"
    ' LANGUAgE plpythonu;
    

    Regards Tino

提交回复
热议问题