>將遠程PostgreSQL數據庫連接到您的本地Java應用程序:實用指南
在本地開發過程中,從外部數據庫訪問數據是一個普遍的挑戰。 本文詳細介紹了使用PostgreSQL外國數據包裝器(FDW)和Fly Proxy的解決方案,以將本地Java API(使用Springboot)連接到Fly.io.io.io.>>的遠程PostgreSQL數據庫。問題:橋接差距
>項目需要從位於fly.io主持的應用程序上的PostgreSQL表中獲取數據。由於網絡限制,從本地開發環境的直接訪問被阻止。 這提出了兩個關鍵障礙:
>建立從本地計算機到fly.io數據庫的安全連接。
了解PostgreSQL FDW
> PostgreSQL的外國數據包裝器(FDW)允許查詢外部數據源,就好像它們在本地一樣。
擴展可以促進此連接。>
設置蒼蠅代理
postgres_fdw
>開始之前,請確保安裝
>
在這種情況下,命令類似於:flyctl
>
<code class="language-bash">fly proxy <remote> [remote_host] [flags]</code>這將建立一個本地隧道(端口5433)到fly.io數據庫(
>)。
><code class="language-bash">fly proxy 5433:5432 -a db_app_name</code>>配置PostgreSQL FDW
db_app_name
安裝:
postgres_fdw
<code class="language-sql">CREATE EXTENSION IF NOT EXISTS postgres_fdw;</code>定義與遠程數據庫的連接:
>
地圖用戶:<code class="language-sql">CREATE SERVER fly_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( host '127.0.0.1', port '5433', dbname 'db_name' );</code>創建用戶映射以授予訪問:
>
導入外部表:<code class="language-sql">CREATE USER MAPPING FOR local_user SERVER fly_server OPTIONS ( user 'remote_user', password 'remote_password' );</code>導入必要的遠程表:
實現的視圖(可選):
<code class="language-sql">IMPORT FOREIGN SCHEMA foreign_schema_name LIMIT TO (remote_table) FROM SERVER fly_server INTO local_schema_name;</code>對於讀取的操作,實現的視圖可以提高性能。
使用FDW和配置的代理,Springboot應用程序可以使用本地數據庫連接查詢外部數據,使用外部表或實現的視圖。 鑰匙要點
此方法成功地將遠端資料整合到本機Java應用程式中,提供了一種用於管理分散式資料的靈活解決方案。 考慮類似挑戰的FDW! 在LinkedIn上連結以進行進一步討論。
以上是本機開發,遠端資料:從 Java API 存取 Fly.io PostgreSQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!