Navtej Nair created FINERACT-2848:
-------------------------------------

             Summary: Document PostgreSQL TimeZone failure for JVMs defaulting 
to legacy zone names
                 Key: FINERACT-2848
                 URL: https://issues.apache.org/jira/browse/FINERACT-2848
             Project: Apache Fineract
          Issue Type: Improvement
          Components: Docs
    Affects Versions: 1.16.0
         Environment: Windows 11, Eclipse Temurin JDK 25.0.4.1, PostgreSQL 18.3 
(Docker image postgres:18.3), Fineract 1.16.0-SNAPSHOT (develop)
            Reporter: Navtej Nair


The Quick Start in README.md instructs contributors to run PostgreSQL via the 
\{{postgres:18.3}} Docker image and then run \{{./gradlew createPGDB}}. On a 
JVM whose default timezone is a deprecated IANA zone name, this fails with:

{code}
org.postgresql.util.PSQLException: FATAL: invalid value for parameter 
"TimeZone": "Asia/Calcutta"
{code}

The PostgreSQL JDBC driver sends the JVM's default zone name on connect, and 
the PostgreSQL server rejects it. This appears to be because recent PostgreSQL 
images no longer ship the legacy backward-compatible zone aliases. Java on 
Windows with India regional settings reports \{{Asia/Calcutta}} rather than the 
current \{{Asia/Kolkata}}. The same failure occurs on \{{devRun}}.

Starting the JVM with the current zone name resolves it, for example:

{code}
-Duser.timezone=Asia/Kolkata
{code}

The error surfaces during the first documented setup step and gives no 
indication of the cause. I propose adding a short note to the Quick Start 
prerequisites in README.md explaining the failure and the workaround. I am 
happy to submit the PR.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to