Re: bogus psql "could not save history file[...]" message in 9.3.6
От | Tom Lane |
---|---|
Тема | Re: bogus psql "could not save history file[...]" message in 9.3.6 |
Дата | |
Msg-id | 31999.1426299748@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: bogus psql "could not save history file[...]" message in 9.3.6 (Jeff Frost <jeff@pgexperts.com>) |
Ответы |
Re: bogus psql "could not save history file[...]" message in
9.3.6
|
Список | pgsql-bugs |
Jeff Frost <jeff@pgexperts.com> writes: >> On Mar 13, 2015, at 9:56 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> strace'ing psql while it exits might be informative. > Here you go: > ... > rename("/var/lib/postgresql/.psql_history", "/var/lib/postgresql/.psql_history-") = -1 ENOENT (No such file or directory) > open("/var/lib/postgresql/.psql_history", O_WRONLY|O_CREAT|O_TRUNC, 0600) = 3 > write(3, "select 1;\n", 10) = 10 > close(3) = 0 > unlink("/var/lib/postgresql/.psql_history-") = -1 ENOENT (No such file or directory) ... WTF? That rename() and that unlink() are certainly not coming from Postgres, and I do not see anything like that in the libedit sources either. (I'm looking at the libedit-20141030-3.1 version that Fedora is currently shipping.) That must be coming from some Ubuntu-specific patch? > open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) I'm guessing here, but I suspect these calls are coming from strerror() looking for a translated version of "No such file or directory" --- ie, at this point the damage is already done and we are trying to report that we think we've failed. Short answer seems to be that Ubuntu stuck in a patch that thinks nothing of clobbering errno during a write_history() call. regards, tom lane
В списке pgsql-bugs по дате отправления: