PolarDB PostgreSQL版(兼容Oracle)提供了數(shù)據(jù)庫鏈接DBLink(Database Link)功能,用于實現(xiàn)跨庫訪問數(shù)據(jù)。

在數(shù)據(jù)庫A中創(chuàng)建到數(shù)據(jù)庫B的DBLink后,通過DBLink,數(shù)據(jù)庫A可以像訪問自己的數(shù)據(jù)一樣訪問數(shù)據(jù)庫B的數(shù)據(jù)。DBLink的訪問是單向的,若數(shù)據(jù)庫B也想訪問數(shù)據(jù)庫A的數(shù)據(jù),則需要在數(shù)據(jù)庫B中也創(chuàng)建到數(shù)據(jù)庫A的DBLink。

使用場景

當前PolarDB PostgreSQL版(兼容Oracle)支持兩種DBLink:PolarDB PostgreSQL版(兼容Oracle)PolarDB PostgreSQL版(兼容Oracle)的DBLink和PolarDB PostgreSQL版(兼容Oracle)到ECS自建PostgreSQL的DBLink。

  • 場景一:PolarDB PostgreSQL版(兼容Oracle)到ECS自建PostgreSQL的DBLink

    客戶原來使用的是ECS自建PostgreSQL數(shù)據(jù)庫,在遷移至PolarDB PostgreSQL版(兼容Oracle)的過程中,由于部分原因,先遷移了一部分業(yè)務(wù)系統(tǒng)上PolarDB PostgreSQL版(兼容Oracle),此時其它業(yè)務(wù)還是在ECS自建PostgreSQL數(shù)據(jù)庫中。由于已遷移的業(yè)務(wù)系統(tǒng)和剩余的其他業(yè)務(wù)之間有數(shù)據(jù)訪問,為了保證業(yè)務(wù)的正常運轉(zhuǎn),需要實現(xiàn)PolarDB PostgreSQL版(兼容Oracle)數(shù)據(jù)庫和ECS自建PostgreSQL數(shù)據(jù)庫之間互訪。目前自建PostgreSQL已經(jīng)支持創(chuàng)建到PolarDB PostgreSQL版(兼容Oracle)的DBLink,PolarDB PostgreSQL版(兼容Oracle)也需要創(chuàng)建到ECS自建PostgreSQL數(shù)據(jù)庫的DBLink,從而實現(xiàn)雙向的數(shù)據(jù)訪問。

  • 場景二:PolarDB PostgreSQL版(兼容Oracle)PolarDB PostgreSQL版(兼容Oracle)的DBLink

    由于業(yè)務(wù)需求,客戶使用了兩個PolarDB PostgreSQL版(兼容Oracle)集群,假定為PolarDB PostgreSQL版(兼容Oracle)(A)和PolarDB PostgreSQL版(兼容Oracle)(B),分別存放了不同業(yè)務(wù)的數(shù)據(jù)。由于這些不同的業(yè)務(wù)數(shù)據(jù)之間需要交互,為了實現(xiàn)這兩個數(shù)據(jù)庫之間雙向的數(shù)據(jù)訪問,您可以創(chuàng)建PolarDB PostgreSQL版(兼容Oracle)(A)到PolarDB PostgreSQL版(兼容Oracle)(B)的DBLink和PolarDB PostgreSQL版(兼容Oracle)(B)到PolarDB PostgreSQL版(兼容Oracle)(A)的DBLink。