地理データアプリケーションでは、緯度経度を IANA タイムゾーンにリアルタイムでマッピングすることが一般的かつ高性能を要求される処理です。
pgrx フレームワークと以前開発した Rust ライブラリ tzf-rs を基に、tzf-pg を開発し、マイクロ秒レベルでの緯度経度→タイムゾーン変換クエリを提供します。

インストール方法については README をご覧ください。使用例は以下の通りです:

1
2
3
4
5
6
7
8
9
tzf=# CREATE EXTENSION tzf;
CREATE EXTENSION
tzf=# SELECT tzf_tzname(116.3883, 39.9289);
tzf_tzname   
---------------
Asia/Shanghai
(1 row)

tzf=# 

GitHub Actions Runner 上で pgbench を用いてランダムにクエリを実行した場合、単一ノードでのスループットのピークは 17,000 qps に達します。 Actions Runner の CPU 競合は非常に激しいため、実際の自前ホスト環境ではさらに高い性能を発揮できます。大規模なデータインポートや高並列なリアルタイムクエリにも十分対応可能です。

ぜひお試しください。使用体験やご要望は GitHub リポジトリの issue や PR にてお知らせください。