"Martin Atukunda" <matlads@gmail.com> writes:
> On 8/25/06, Peter Eisentraut <peter_e@gmx.net> 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