あなたの解決策は、Synology diskstation の zoneinfo に関する実際の問題の回避策にすぎないと思います。
ディスクステーションの postgres データベースに接続しようとすると、まったく同じエラーが発生しました。このクエリselect * from pg_timezone_names;は、postgresql が認識するすべてのタイムゾーン名を提供します。
"Timezone" で始まる 87 のエントリがあります。
name | abbrev | utc_offset | is_dst
------------------------+--------+------------+--------
Timezone/Kuwait | AST | 03:00:00 | f
Timezone/Nairobi | EAT | 03:00:00 | f
...
構成された postgrestimezonesetsにはさらに多くのエントリが含まれているため、postgres が起動時にこのビューを構築している別のソースが必要です。--with-system-tzdata=DIRECTORYpostgres にシステム zoneinfo から値を取得するように指示するコンパイル オプションがあることを発見しました。
調べたところ、正確に 87 エントリで/usr/share/zoneinfo呼び出された 1 つのサブディレクトリが見つかりました。Timezoneそして、明らかに、という名前のサブディレクトリはありませんでしEuropeた (という名前のタイムゾーン ファイルを使用Berlin)。tzdata解凍して作成することにより、ディスクステーションが自動または手動で更新するための解決策をすぐに見つけられませんでしたtzdata2016a.tar.gz(make not found...)。クイックフィックスとして、別の Linux システムからタイムゾーン ファイルをコピーしたところBerlin、問題が解決したので、正しいタイムゾーン "Europe/Berlin" を使用して Java/jdbc 経由で接続できるようになりました。