Skip to content
Back to formatted view

Raw Message

Message-ID: <19186.21463.574294.446926@ron.nulle.part>
Date: 2009-11-05T04:25:59Z
From: Dirk Eddelbuettel
Subject: dbWriteTable permission problem on Mac OSX
In-Reply-To: <de8c7cb40911041958y445d88bre0bb3e6199d93648@mail.gmail.com>

On 4 November 2009 at 22:58, Prasenjit Kapat wrote:
| Hi,
| 
| On Tue, Nov 3, 2009 at 5:14 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
| > | ---------------------
| > | > dbWriteTable(pcon, "test", data)
| > | Error in postgresqlExecStatement(conn, statement, ...) :
| > | ? RS-DBI driver: (could not Retrieve the result : ERROR: ?could not open
| > | file "/tmp/RtmprNh2yy/rsdbi60b7acd9" for reading: Permission denied
| > | )
| > | Warning in postgresqlWriteTable(conn, name, value, ...) :
| > | ? could not load data into table
| >
| > That looks straightforward. Me thinks that
| >
| > ?a) R creates its tempdir, so R owns /tmp/RtmprNh2yy/
| >
| > ?b) we're talking to Pg so the default Pg user will need to read that
| > ? ? file -- my guess right now is that the default postgres user running
| > ? ? the db is simply prohibited from reading inside that directory.
| >
| > This gives you an idea of how to fix it short term -- maybe by using another
| > tempdir, maybe by using another fudge. ? Alternatively, dump your data
| > outside of R and use Pg's native bulk copy tools ... ? That said, I don't
| > quite recall by this doesn't bite us on Linux.
| 
| I had a similar situation sometime back. And to this day the only
| solution was to give global read/write permissions (on RedHat, SELinux
| was disabled). Giving read perm is fine but not so for write. So:
| 
| If exporting directly from postgres to disk via any query then I use
| /tmp. Otherwise, read them into R's data frame and then write to
| anywhere on the disk from R.

And just to follow-up, now that I am home where Pg runs:

a) dbWriteTable() works for me under Debian

b) the per-R-session tempdir is clearly mode 0700:
drwx------  2 edd  edd     1024 2009-11-04 22:18 RtmpzGf6Ef

c) I am not sure how Pg gets to the data ... but it does for me as the
unittest tests/dbWriteTableTest.R in the sources also attests

Dirk

-- 
Three out of two people have difficulties with fractions.