Last modified: 2010-05-15 15:42:50 UTC
I run mediawiki 1.8.0 (with Greek language interface) coupled with Postgres 8.1.4 using PHP 5.1.4-0.1. The same bug was present with 1.7.1 as well. Almost everywhere where dates and times are to displayed, I get "00:00, 1 January 1970". There are some exceptions, which I will proceed to list at the end of this report. This time defaults to 0 Unix ticks, so I assume that something is not parsed properly. For example, all page-last-modified footers, user contributions, history pages and diffs render the timestamp as such. However by inspection of the database tables, I have verified that the information is indeed in there, for example rev_timestamp fields in the revision table read "2006-10-20 03:14:52+03", "2006-10-20 03:08:55+03" etc. I use phppgadmin to inspect the database. Regarding the locale of the Postgres database, the environment variables that may be changed from within postgresql.conf (taking effect upon each server restart) are: lc_messages = 'C' # locale for system error messages lc_monetary = 'el_GR' # locale for monetary formatting lc_numeric = 'el_GR' # locale for number formatting lc_time = 'el_GR' # locale for time formatting However, I tried with lc_time = 'C' as well and got the same behavior. As for lc_collate, it is determined upon Postgres installation and may not change; it is 'el_GR' as well. Exceptions to dates and times not showing up properly: - The "Recent changes" special page correctly renders the start of the displayed recent changes (i.e. 01:16, 20 Οκτωβρίου 2006); however, all listed entries are lumped together under 01 January 1970 once again.
I should add that in the "Recent Changes" special page, as well as in "User Contributions" edits are actually listed in the correct order. That is, most recent edits do appear on top. Nevertheless the respective dates adn times are invariably shown as 00:00, 01 January 1970. This demonstrates that at the database level everything is alright (queries with "order by" work properly). It is in the rendering of the timestamps by mediawiki that the problem lies.
I am working on a fresh install of Mediawiki SVN 1.10alpha (r20060) on PostgreSQL and so far see all dates in correct format. Is this bug already fixed?
Closing as fixed, please reopen if behavior is still seen in recent subversion versions.
I only recently found out what was causing the problematic behavior and would thus like to list it here for other people: Mediawiki expects the following setting for Postgres (in postgresql.conf): datestyle = 'ISO' As long as this was set to datestyle = 'sql, european' //original setting I got the above described behavior. Upon modifying it, timestamps render alright. What LC_TIME is set to (in postgresql.conf as well) is irrelevant and does not affect the behavior (up to 1.10 at least). I am only reopening this because, in principle, shouldn't the SQL datestyle be supported as well? I did not find in any documentation the requirement that the datestyle be ISO for Mediawiki to cope; changing a database-wide setting just for Mediawiki is not always practical/feasible either. By the way, Greg, thumbs up to you man! Just like you said elsewhere, best Postgres support ever!
IIRC the installer/updater was recently changed to ensure that the DateStyle was set this way.
Closing as fixed, datestyle is indeed now enforced on install/update.