阿里云RDS PG 10 HA版 - 使用postgres_fdw外部表插件 - 实例内跨库访问其他库的表

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 标签 PostgreSQL , postgres_fdw , 阿里云 , 内核安全限制 背景 阿里云rds pg内核安全上做了限制,只能访问当前实例的其他库,所以使用dblink, postgres_fdw时,虽然PG功能上是可以访问其他远程实例的,但是阿里云RDS PG限制了只能访问当前实例。 另一方面,当前实例是HA版本,并且是云化版本,所以IP,PORT都可能在发生迁移、切换后发

标签

PostgreSQL , postgres_fdw , 阿里云 , 内核安全限制


背景

阿里云rds pg内核安全上做了限制,只能访问当前实例的其他库,所以使用dblink, postgres_fdw时,虽然PG功能上是可以访问其他远程实例的,但是阿里云RDS PG限制了只能访问当前实例。

另一方面,当前实例是HA版本,并且是云化版本,所以IP,PORT都可能在发生迁移、切换后发生变化。因此为了能够让用户使用dblink, postgres_fdw访问本实例的其他跨库资源,内核上做了hack。port, host, hostaddr都不允许指定。

通过DBLINK创建视图也是一样的道理。

用法举例

1 创建postgres_fdw

create extension postgres_fdw;  

2 创建外部server

drop  SERVER  foreign_server cascade;  
  
CREATE  SERVER  foreign_server  
                FOREIGN  DATA  WRAPPER  postgres_fdw  
                OPTIONS  (  dbname  'pgbi_hf');   -- 正常来说这里要指定host port,RDS PG 10 高可用版本,不需要指定  

3 为当前用户匹配创建好的外部server

CREATE USER MAPPING FOR 本地数据库用户  
        SERVER foreign_server  
        OPTIONS (user 'xxx', password 'xxx');  

4 创建外部表

CREATE FOREIGN TABLE xxx (  
        c1 varchar(40),  
        c2 varchar(200)  
)  
        SERVER foreign_server  
        OPTIONS (schema_name 'xxx', table_name 'xxx');  

5 可以将外部server上指定的schema里面的所有表,一次性映射到本地的某个指定SCHEMA里面

import foreign schema remote_schema1 from server foreign_server INTO local_schema1;  

参考

《阿里云rds PG, PPAS PostgreSQL 同实例,跨库数据传输、访问(postgres_fdw 外部表)》

 

免费领取阿里云RDS PostgreSQL实例、ECS虚拟机

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
MySQL操作利器——mysql-connector-python库详解
MySQL操作利器——mysql-connector-python库详解
414 0
|
2月前
|
SQL 监控 关系型数据库
MySQL 延迟从库介绍
本文介绍了MySQL中的延迟从库功能,详细解释了其工作原理及配置方法。延迟从库允许从库在主库执行完数据变更后延迟一段时间再同步,主要用于快速恢复误操作的数据。此外,它还可用于备份、离线查询及数据合规性需求。通过合理配置,可显著提升数据库系统的稳定性和可靠性。
107 4
|
1天前
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
7 1
|
14天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
16 2
|
2月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
41 2
zabbix agent集成percona监控MySQL的插件实战案例
|
25天前
|
自然语言处理 关系型数据库 MySQL
MySQL数据库使用Match语法需要安装什么插件吗?
【10月更文挑战第1天】MySQL数据库使用Match语法需要安装什么插件吗?
46 0
|
28天前
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
38 0
|
3月前
|
监控 关系型数据库 MySQL
mysql误删的performance_schema库
`performance_schema`库是MySQL性能监控的重要工具,误删除后可以通过上述方法尝试恢复。在操作过程中,重启MySQL服务器是最简单的尝试方法。如果这不起作用,可以尝试使用MySQL的初始化选项,但请注意备份数据以防数据丢失。检查MySQL配置也是一个好的步骤,以确保 `performance_schema`没有被禁用。最后,如果有备份,通过恢复备份来恢复 `performance_schema`库是最保险的方法。在操作过程中,确保遵循最佳实践和操作前备份重要数据。
118 5
|
3月前
|
SQL 关系型数据库 MySQL
MySQL主从:延时从库恢复全解
MySQL主从:延时从库恢复全解
|
3月前
|
关系型数据库 MySQL 网络安全
阿里云安装Mysql
阿里云安装Mysql
185 1