pgsql:跨库访问其他数据库

2023-11-08

在mssql或mysql中,跨库访问其他数据库是很简单的。用 [数据库名].[表名]即可访问。

但在pgsql中跨库访问就稍微麻烦一些,需要做一些前期准备。

以下使用了自带的扩展插件postgres_fdw来创建跨库链接。

-- 开启扩展插件
CREATE EXTENSION postgres_fdw;

-- 创建外部服务器 映射远程数据库IP 端口 数据库名
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '192.168.0.23', port '5432', dbname 'db_fee_mhzls');

-- 创建本地登录远端的账号映射 options里面为远程数据库的账号密码
CREATE USER MAPPING FOR postgres
SERVER foreign_server
OPTIONS (user 'postgres', password '123456');

-- 创建模式 将外部服务器的所有模式对象导入到本地模式ft中
CREATE SCHEMA ft;
import foreign schema public from server foreign_server into ft;

--或者可以只导入指定表

import foreign schema public limit to(mytabA,mytabB) from server foreign_server into ft;

-- 使用本地模式ft实例 来执行sql
select * from ft.bk;

说明:

除了语句执行,也可以通过“其他”-》“外部服务器”菜单进行添加或修改连接属性。

创建模式语句执行后可以看到左边菜单出现了ft的节点。

你也可以通过navicat的选项菜单创建服务器。

效果:

上面示例执行查询bk表的sql语句后,可以看到获取到正常数据了。

可能出现的问题:

如果多个数据库都需要创建ft的情况 ,执行上述命令可能会出现报错

错误描述:function *** already exists with same argument types 

错误原因:同名函数已经存在,且要创建的函数和原函数参数相同。就是说已经创建了扩展,你无法再创建新的扩展。

解决方案:

在执行语句CREATE EXTENSION 做一些修改。

CREATE EXTENSION [ IF NOT EXISTS ] extension_name
    [ WITH ] [ SCHEMA schema_name ]
             [ VERSION version ]
             [ FROM old_version ]

1.用 DROP  EXTENSION postgres_fdw;删除原扩展插件

2.将扩展安装到指定模式下

CREATE EXTENSION postgres_fdw SCHEMA ftnew;

//扩展的实例postgres_fdw 被安装在名为ftnew的模式下,这样就不会与其他扩展实例冲突。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pgsql:跨库访问其他数据库 的相关文章

随机推荐

  • svn 错误 以及 中文翻译

    比较长 如何查找不方便的话 用查找 CTRL F 吧 Simplified Chinese translation for subversion package This file is distributed under the same
  • GraphPad Prism 9 for Mac 的使用教程

    一 图形类型怎么选择 1 XY 折线图 散点图 适用于线性回归 非线性回归 相关性分析 2 Column 柱状图 适用于单因素的统计分析 如单个样本的t检验 3 Grouped 适用于两个因素或者多因素的方差分析 4 Contingency
  • 多线程案例

    目录 一 单例模式 二 阻塞式队列 三 定时器 四 线程池 一 单例模式 单例模式其实是一种设计模式 而设计模式简单来说其实就是针对一些常见场景给出的一些经典解决方案 让程序员可以更好的解决问题 我们到目前为止一般涉及到的设计模式有两种 单
  • MySQL 数据类型

    MySQL支持多种类型 大致可以分为三类 数值 日期 时间和字符串 字符 类型 数值类型 MySQL支持所有标准SQL数值数据类型 这些类型包括严格数值数据类型 INTEGER SMALLINT DECIMAL和NUMERIC 以及近似数值
  • RedisJSON介绍

    RedisJSON 是一种高性能 JSON 文档存储 允许开发人员构建现代应用程序 它在内存中存储和处理 JSON 以亚毫秒级支持每秒数百万次操作响应时间 JSON 文档的原生索引 查询和全文搜索允许开发人员创建二级索引 快速查询数据 企业
  • 微电网日前优化调度 。算例有代码(1)

    个人电气博文传送门 学好电气全靠它 个人电气博文目录 持续更新中 符号说明 问题1 求解 经济性评估方案 若微网中蓄电池不作用 且微网与电网交换功率无约束 在无可再生能源和 可再生能源全额利用两种情况下 分别计算各时段负荷的供电构成 kW
  • 跑马灯-------寄存器版本

    拿到一个工程模板 首先要编译 编译成功之后再删除main 内容 这样编译不会出错 程序步骤 配置时钟使能寄存器 RCC AHB1ENR寄存器 用来时钟使能 然后 跑马灯IO口是PF9 PF10 GPIOF在RCC AHB1ENR 中是第五位
  • Eclipse 插件开发中使用Target Platform

    使用Eclipse IDE做插件 Plugin 开发的时候 有时会遇到开发的平台跟当前Eclipse版本不一致的问题 解决办法之一就是在当前项目中定义自己的target platform 文件 创建Target Platform文件 1 创
  • 服务降级、熔断、限流

    目录 目录 1 概念 1 1 降级 1 1 1 常见降级 1 1 2 示例 1 2 熔断 1 2 1 熔断设计 1 2 2 示例 1 3 限流 1 3 1 算法 1 3 2 示例 2 区别 3 案例 1 概念 1 1 降级 服务降级处理是在
  • java 判断两个字符串的字符集是否相同

    问题描述 给定两个字符串判断它们的字符集是否相同 例如 aaabbcc 和 abc 的字符集是相同的 字符集都是 a b c 解题方法 这题与变形词不同在于仅仅要求字符集相同 对数量和长度没有要求 而变形词是要求重复出现的次数也要相同 可以
  • 基于selenium的twitter博文评论爬虫

    技术合作联系 13958075150 1 首次登录获取cookies并存为文件 from selenium import webdriver import time import json br webdriver Chrome br ge
  • 【nacos】5.2 @RefreshScope + @Value 注解 自动刷新配置

    返回首页 gt 笔记 Spring Cloud Alibaba Nacos 接上节 spring cloud Nacos 实现统一配置管理 1 问题 如何不启动spring boot项目自动更新 Value 注解的值 2 方案 类 方法 属
  • 螺旋矩阵的python实现

    问题描述 对于一个 n 行 m 列的表格 我们可以使用螺旋的方式给表格依次填上正整数 我们称填好的表格为一个螺旋矩阵 例如 一个 4 行 5 列的螺旋矩阵如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12
  • eclipse indigo版本连接oracle XE(图解)

    讲在题前 oracle 的各个版本对应的驱动名称 oracle 不同版本的驱动 是对应不对的JDK版本的 例如JDK是1 4的话 你需要的oracle的JDBC的驱动包名称为 ojdbc14 jar 例如JDK是1 4的话 你需要的orac
  • C语言——字符串翻转

    C语言系列文章 C语言 判断回文数 对称数 字符串翻转 C语言系列文章 前言 字符串翻转 复习时间 C语言代码 总结 前言 哈喽 小伙伴们 最近在复习C语言的基础语法 从0开始 所以今天的题目比较简单 也就是我们最常见的字符串翻转问题 这道
  • go语言详解-----包(package)引入

    一 go语言基础 1 每一个可运行的go程序必须要有一个main 包 package 即package main 并且该main包中必须要有一个main函数 这是一个入口函数 2 一个包中的描述符要能够被其他的包引用 那么该包中的相关描述符
  • Matlab 散点图(Scatter)和颜色图(Colormap)

    目录 一 什么是散点图 二 什么数据需要用散点图来呈现 三 matlab 中的颜色如何表示和调用 ColorOrder LineStyleOrder 应用实例 四 颜色和透明度在散点图中的灵活应用 二维散点图 三维散点图 数据分组 五 Sc
  • Android O(8.0)以上系统使用通知

    前言 根据 第一行代码 第二版 第八章中通知的写法 在我自己手机上调试的时候没有任何反应 查阅资料后发现 因为我的手机系统是MIUI10 3版本 为Android 9系统 而在Android 8系统上对通知进行了修改 引入了消息通道 Not
  • Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)

    Dynamic CRM9 0 环境安装部署手册 Dynamic 365和ADFS配置安装过程踩了一些坑 拿出来和大家记录分享一下 目录 Dynamic CRM9 0 环境安装部署手册 一 Active Directory 和 IIS 的安装
  • pgsql:跨库访问其他数据库

    在mssql或mysql中 跨库访问其他数据库是很简单的 用 数据库名 表名 即可访问 但在pgsql中跨库访问就稍微麻烦一些 需要做一些前期准备 以下使用了自带的扩展插件postgres fdw来创建跨库链接 开启扩展插件 CREATE