首頁 >Java >java教程 >本機開發,遠端資料:從 Java API 存取 Fly.io PostgreSQL

本機開發,遠端資料:從 Java API 存取 Fly.io PostgreSQL

DDD
DDD原創
2025-01-27 06:08:10801瀏覽

>將遠程PostgreSQL數據庫連接到您的本地Java應用程序:實用指南

在本地開發過程中,從外部數據庫訪問數據是一個普遍的挑戰。 本文詳細介紹了使用PostgreSQL外國數據包裝器(FDW)和Fly Proxy的解決方案,以將本地Java API(使用Springboot)連接到Fly.io.io.io.>>的遠程PostgreSQL數據庫。

Local Development, Remote Data: Accessing Fly.io PostgreSQL from Your Java API問題:橋接差距

>項目需要從位於fly.io主持的應用程序上的PostgreSQL表中獲取數據。由於網絡限制,從本地開發環境的直接訪問被阻止。 這提出了兩個關鍵障礙:

>建立從本地計算機到fly.io數據庫的安全連接。
    >訪問本地Java應用程序中的遠程數據庫數據。
  1. 解決方案:飛行代理和postgresql fdw
  2. 解決方案利用飛行代理來創建一個安全的隧道和PostgreSQL FDW,以將遠程數據庫視為本地數據源。

了解PostgreSQL FDW

Local Development, Remote Data: Accessing Fly.io PostgreSQL from Your Java API> 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

在您的本地PostgreSQL數據庫中,安裝擴展名:

安裝:

  1. >

    postgres_fdw

    創建外國服務器:
    <code class="language-sql">CREATE EXTENSION IF NOT EXISTS postgres_fdw;</code>
    定義與遠程數據庫的連接:
  2. >

    地圖用戶:
    <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>
    創建用戶映射以授予訪問:
  3. >

    導入外部表:
    <code class="language-sql">CREATE USER MAPPING FOR local_user SERVER fly_server
    OPTIONS (
        user 'remote_user',
        password 'remote_password'
    );</code>
    導入必要的遠程表:
  4. (注意:如果遠程表依賴於枚舉類型,則必須在本地創建這些類型。)>

    實現的視圖(可選):
    <code class="language-sql">IMPORT FOREIGN SCHEMA foreign_schema_name
    LIMIT TO (remote_table)
    FROM SERVER fly_server
    INTO local_schema_name;</code>
    對於讀取的操作,實現的視圖可以提高性能。

  5. 與Java API
  6. 集成

    使用FDW和配置的代理,Springboot應用程序可以使用本地數據庫連接查詢外部數據,使用外部表或實現的視圖。 鑰匙要點

    • fdw功能強大,但需要仔細的配置。
    • >
    • flyctl代理簡化了安全的遠端資料庫存取。 >
    • 即使使用資料依賴性,這種方法也可以促進服務解耦。
    • >
    結論

    此方法成功地將遠端資料整合到本機Java應用程式中,提供了一種用於管理分散式資料的靈活解決方案。 考慮類似挑戰的FDW! 在LinkedIn上連結以進行進一步討論。

以上是本機開發,遠端資料:從 Java API 存取 Fly.io PostgreSQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn