There's an interesting thread over here http://archives.postgresql.org/pgsql-sql/2009-08/msg00013.php in which someone mistook a filesystem-level permissions problem for a database permissions problem. It wasn't exactly his fault, I think, since the message he was presented with was
ERROR: could not create relation "test": Permission denied which is not all that obviously different from what you would get for a SQL-permissions violation. I am thinking that this message would be more correct and less confusing if it looked something like ERROR: could not create file "12345/67890": Permission denied ie, when reflecting an OS-level error we should call a file a file and provide its filesystem name, not the name of the table that we were hoping to map to it. This would be more likely to lead the user's mind in the right direction, and he'd need the filesystem pathname for any detailed investigation anyway. This would have the further advantage that we could make all the errors in md.c consistent --- some of them provide filesystem names rather than table names because that's all they have available. Lastly, I'm wondering why someone seems to have removed the double quotes around the filesystem name in some of these messages. Surely that's not per style guide. Comments? regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers