PolarDB PostgreSQL版(兼容Oracle)提供了数据库链接DBLink(Database Link)功能,用于实现跨库访问数据。
在数据库A中创建到数据库B的DBLink后,通过DBLink,数据库A可以像访问自己的数据一样访问数据库B的数据。DBLink的访问是单向的,若数据库B也想访问数据库A的数据,则需要在数据库B中也创建到数据库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数据库,在迁移至PolarDB PostgreSQL版(兼容Oracle)的过程中,由于部分原因,先迁移了一部分业务系统上PolarDB PostgreSQL版(兼容Oracle),此时其它业务还是在ECS自建PostgreSQL数据库中。由于已迁移的业务系统和剩余的其他业务之间有数据访问,为了保证业务的正常运转,需要实现PolarDB PostgreSQL版(兼容Oracle)数据库和ECS自建PostgreSQL数据库之间互访。目前自建PostgreSQL已经支持创建到PolarDB PostgreSQL版(兼容Oracle)的DBLink,PolarDB PostgreSQL版(兼容Oracle)也需要创建到ECS自建PostgreSQL数据库的DBLink,从而实现双向的数据访问。
- 场景二:PolarDB PostgreSQL版(兼容Oracle)到PolarDB PostgreSQL版(兼容Oracle)的DBLink
由于业务需求,客户使用了两个PolarDB PostgreSQL版(兼容Oracle)集群,假定为PolarDB PostgreSQL版(兼容Oracle)(A)和PolarDB PostgreSQL版(兼容Oracle)(B),分别存放了不同业务的数据。由于这些不同的业务数据之间需要交互,为了实现这两个数据库之间双向的数据访问,您可以创建PolarDB PostgreSQL版(兼容Oracle)(A)到PolarDB PostgreSQL版(兼容Oracle)(B)的DBLink和PolarDB PostgreSQL版(兼容Oracle)(B)到PolarDB PostgreSQL版(兼容Oracle)(A)的DBLink。