Style of file error messages
Just to get an opinion, which is better:
could not open transaction log file "%s": %m
could not open control file "%s": %m
could not open data file "%s": %m
could not open temporary file "%s": %m
could not open whatever file "%s": %m
or just:
could not open file "%s": %m
It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.
(Specific exceptions might exist.) Log analysis tools might also
prefer a uniform format.
Anyway, some consistency either way would be nice.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
Peter Eisentraut wrote:
Just to get an opinion, which is better:
could not open transaction log file "%s": %m
could not open control file "%s": %m
could not open data file "%s": %m
could not open temporary file "%s": %m
could not open whatever file "%s": %mor just:
could not open file "%s": %m
It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.
(Specific exceptions might exist.) Log analysis tools might also
prefer a uniform format.Anyway, some consistency either way would be nice.
Since we use a relative path to $PGDATA I think that:
could not open file "%s" : %m
is plenty.
Sincerely,
Joshua D. Drake
--
=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/
Peter Eisentraut <peter_e@gmx.net> writes:
Just to get an opinion, which is better:
could not open whatever file "%s": %m
or just:
could not open file "%s": %m
It seems to me that by the time you get to a file error message of this
level, the higher-level purpose of the file is pretty irrelevant.
I like the more verbose variant myself, and would argue that indeed our
message style guidelines mandate it:
45.3.9. Type of the object
When citing the name of an object, state what kind of object it is.
Rationale: Otherwise no one will know what "foo.bar.baz" refers to.
A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.
regards, tom lane
"Tom Lane" <tgl@sss.pgh.pa.us> writes:
A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.
I think Peter's argument is that what kind of file it is really doesn't help a
regular user. Nonetheless I agree strongly. Even if it doesn't actually make
any practical difference it's one less thing to wonder about and one more
anchor for a user to hold onto when trying to understand what's going on.
I know I feel better knowing what part is actually broken on my car than just
having a dummy light come on even if I'm going to go to the same garage either
way.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Gregory Stark wrote:
"Tom Lane" <tgl@sss.pgh.pa.us> writes:
A seasoned developer might only need the file name to guess what kind of
file it is, but other people could probably use the help.I think Peter's argument is that what kind of file it is really doesn't help a
regular user. Nonetheless I agree strongly. Even if it doesn't actually make
any practical difference it's one less thing to wonder about and one more
anchor for a user to hold onto when trying to understand what's going on.I know I feel better knowing what part is actually broken on my car than just
having a dummy light come on even if I'm going to go to the same garage either
way.
In general I agree with your assessment but... In PostgreSQL everything
is structured so formally in terms of the filesystem that the verbosity
seems overkill. I mean think about it:
pg_clog/0FEa
pg_xlog/9283521535
base/124765/23569.1
It isn't really that opaque. Besides, *anybody* who gets the errors we
are talking about is going to post that they can't open the specific
file right?
Sincerely,
Joshua D. Drake
--
=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/