Bruce Momjian wrote:
Tom Lane wrote:
Bruce Momjian <email@example.com> writes:
Tom Lane wrote:
I wonder if we should take pg_read_file (and the rest of genfile.c)
back out of the backend and stick them into contrib/adminpack.
I thought about that but what we have in the backend now is read-only
which basically could be done using COPY, so I don't see any security
value to moving them out. They are super-user only just like COPY.
The you-can-do-it-with-COPY argument doesn't apply to pg_ls_dir, nor to
pg_stat_file, and I find it unconvincing even for pg_read_file. COPY
isn't at all friendly for trying to read binary files, for instance.
Even for plain ASCII text you'd have to try to find a delimiter
character not present anywhere in the file, and backslashes in the file
would get corrupted.
But the basic point here is that someone who wants filesystem access
from the database is going to install adminpack anyway. Why should
someone who *doesn't* want filesystem access from the database be
forced to have some capabilities of that type installed anyway?
Remember we went around and around on this with the pgAdmin guys, so you
are going to have to get their input. Also consider that pgAdmin might
be doing remote administration on a database it can't load shared
objects into, so having the read stuff always be there might help them.
I don't see anyone complaining about our read-only file access in the
backend, so I don't see a readon to remove it.
For the record, I am not happy with forcing this either. Providing it in
an optional module seems perfectly reasonable to me. I suppose an
alternative would be to turn the capability on or off via a (yet
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly