The following bug has been logged on the website:
Bug reference:      12754
Logged by:          David Pozsar
Email address:      david.pozsar@gmail.com
PostgreSQL version: 9.4.0
Operating system:   Windows 7
Description:
If the current time-zone has minutes and is negative, to_char('OF') prints a
negative sign before the minute part too.
Code, to reproduce:
set time zone interval '-02:30';
-- or: set timezone to -2.5;
select ts::text, to_char(ts, 'YYYY-MM-DD HH24:MI:SSOF')
from (values (timestamptz '2015-02-10 07:05:15+00')) v(ts);
Output:
            ts             |          to_char
---------------------------+----------------------------
 2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:-30
Expected output:
            ts             |         to_char
---------------------------+---------------------------
 2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:30