"Martin Atukunda" <[EMAIL PROTECTED]> writes:
> On 8/25/06, Peter Eisentraut <[EMAIL PROTECTED]> wrote:
>> Please elaborate on "doesn't work".

> without any .psqlrc file I get the following error when quitting a psql 
> session:
> could not save history to file "/Users/matlads/.psql_history": Invalid 
> argument

That is fixed in CVS HEAD.  The current coding looks like:

        /*
         * return value of write_history is not standardized across GNU
         * readline and libedit.  Therefore, check for errno becoming set
         * to see if the write failed.
         */
        errno = 0;
        (void) write_history(fname);
        if (errno == 0)
            return true;

        psql_error("could not save history to file \"%s\": %s\n",
                   fname, strerror(errno));


> When I set HISTFILE to /dev/null I get the following:
> could not save history to file "/dev/null": Operation not permitted

Hm.  ktrace shows this happening:

 23279 psql     CALL  open(0x302d70,0x601,0x1b6)
 23279 psql     NAMI  "/dev/null"
 23279 psql     RET   open 3
 23279 psql     CALL  fchmod(0x3,0x180)
 23279 psql     RET   fchmod -1 errno 1 Operation not permitted
 23279 psql     CALL  close(0x3)
 23279 psql     RET   close 0
 23279 psql     CALL  write(0x2,0xbffff180,0x44)
 23279 psql     GIO   fd 2 wrote 68 bytes
       "could not save history to file "/dev/null": Operation not permitted
       "
 23279 psql     RET   write 68/0x44
 23279 psql     CALL  exit(0)

There's probably no way to get Apple's libedit to not try the fchmod,
so what do we want to do here?  Maybe special-case the string
"/dev/null"?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to