Thread: DBMS_File Equivalent?
Can a trigger, written in plperl, write to the OS when it fires? I want to write a trigger, in plperl, that builds an RSS feed file with each row that gets added to one of my tables. My database (8 rc 3, on Redhat 9) seems to choke (terminated on signal 11) each time I try to write to the OS - I would imagine because it's a major security threat to have the DB blindly writing to the filesystem. I guess what I really need is something like dbms_file in Oracle, where one predefines where the DB is allowed to read and write files. Can this be done with Postgres? Dunc
Dunc wrote: > Can a trigger, written in plperl, write to the OS when it fires? I want > to write a trigger, in plperl, that builds an RSS feed file with each > row that gets added to one of my tables. My database (8 rc 3, on Redhat > 9) seems to choke (terminated on signal 11) each time I try to write to > the OS - I would imagine because it's a major security threat to have > the DB blindly writing to the filesystem. I guess what I really need is > something like dbms_file in Oracle, where one predefines where the DB is > allowed to read and write files. Can this be done with Postgres? You can do it with plperlu but not plperl. The procedure will be fired as your postgresql user (the owner of the actual catalog) so you want to make sure that where the procedure is trying to write can be accessed by that user. Sincerely, Joshua D. Drake > > Dunc > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Command Prompt, Inc., home of PostgreSQL Replication, and plPHP. Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL
Attachment
I wrote: > Can a trigger, written in plperl, write to the OS when it fires? I > want to write a trigger, in plperl, that builds an RSS feed file with > each row that gets added to one of my tables. My database (8 rc 3, on > Redhat 9) seems to choke (terminated on signal 11) each time I try to > write to the OS - I would imagine because it's a major security threat > to have the DB blindly writing to the filesystem. I guess what I > really need is something like dbms_file in Oracle, where one > predefines where the DB is allowed to read and write files. Can this > be done with Postgres? > > Dunc > In thinking about this I'm wondering if I'm making this harder then it needs to be. If I could write a function that builds, and returns the RSS file that would accomplish what I want - assuming that I could call the function from a webpage. Can Postgres functions be called from a URL, similar to how PL/SQL files can be in Oracle? Dunc
>> > In thinking about this I'm wondering if I'm making this harder then it > needs to be. If I could write a function that builds, and returns the > RSS file that would accomplish what I want - assuming that I could call > the function from a webpage. Can Postgres functions be called from a > URL, similar to how PL/SQL files can be in Oracle? Not without a wrapper to the connection. If in perl... just have a cgi call it. Sincerley, Joshua D. Drake > > Dunc > > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings -- Command Prompt, Inc., home of PostgreSQL Replication, and plPHP. Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL
Attachment
Dunc <postgresql@dunc-it.com> writes: > Can a trigger, written in plperl, write to the OS when it fires? No, but a plperlu trigger can. > My database (8 rc 3, on Redhat > 9) seems to choke (terminated on signal 11) each time I try to write to > the OS - I would imagine because it's a major security threat to have > the DB blindly writing to the filesystem. It is a security hole, but sig 11 is not the expected response :-(. Can you provide a debugger backtrace from the crash, or even better a complete test case? What Perl version are you using? regards, tom lane