Kingbase_FDW 使用介绍
与postgresql_fdw功能类似,KINGBASE_FDW 是一种外部访问接口,它可以被用来访问存储在外部的数据。想要使用fdw访问数据需要先确保:网络通,数据库访问配置(pg_hba,conf)正常,同时远端数据库的用户必须有表的相关权限。
一、远程数据库
远程数据库 IP: 142 。创建用户及测试数据:
create role user_remote with login;
alter role user_remote with password 'user_remote';
create schema user_remote authorization user_remote;
\c test user_remote
create table t1(id integer,name varchar(9));
insert into t1 values(1,'a'),(2,'b');
二、本地数据库
本地数据库 IP: 143
1、创建扩展 kingbase_fdw
\c test system
create role user_local with login;
alter role user_local with password 'user_local';
create schema user_local authorization user_local;
create extension kingbase_fdw;
扩展创建完成后,pg_foreign_data_wrapper 有如下一行:
test=# select * from pg_foreign_data_wrapper where fdwname='kingbase_fdw';
oid | fdwname | fdwowner | fdwhandler | fdwvalidator | fdwacl | fdwoptions
-------+--------------+----------+------------+--------------+--------+------------
16495 | kingbase_fdw | 10 | 16493 | 16494 | |
(1 row)
2、create server
create server srv_42 foreign data wrapper kingbase_fdw options(host '192.168.237.42',port '54321',dbname 'test');
grant usage on foreign server srv_42 to user_local;
注意:必须将 Server 授权给用户,否则用户在创建外部表时,会报“ERROR: permission denied for foreign server srv_42” 错误。创建完server后,在sys_foreign_server 会有如下一条:
test=> select * from sys_foreign_server where srvname='srv_42';
oid | srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions
-------+---------+----------+--------+---------+------------+---------------------------------------+----------------------------------------------
16502 | srv_42 | 10 | 16495 | | | {system=U/system,user_local=U/system} | {host=192.168.237.42,port=54321,dbname=test}
(1 row)
3、创建user mapping
create user mapping for user_local server srv_42 options(user 'user_remote',password 'user_remote');
创建后,在pg_user_mappings 会有一条记录:
test=> select * from pg_user_mappings where srvname='srv_42';
umid | srvid | srvname | umuser | usename | umoptions
-------+-------+---------+--------+------------+-----------------------------------------
16503 | 16502 | srv_42 | 16500 | user_local | {user=user_remote,password=user_remote}
4、创建外部表
create foreign table ft_t1 (
id integer ,
name varchar(9)
) server srv_42 options (schema_name 'user_remote',table_name 't1');
5、访问测试
test=> \d
List of relations
Schema | Name | Type | Owner
------------+-------+---------------+------------
user_local | ft_t1 | foreign table | user_local
(1 row) test=> select * from ft_t1;
id | name
----+-----------
1 | a
2 | b
(2 rows)
6、选择导入远程的整个schema
可以将远程schema下的所有表及视图通过import 方式导入,避免逐表创建。
test=> import foreign schema user_remote from server srv_42 into user_local;
IMPORT FOREIGN SCHEMA
test=> \d
List of relations
Schema | Name | Type | Owner
------------+------+---------------+------------
user_local | t1 | foreign table | user_local
user_local | t2 | foreign table | user_local
Kingbase_FDW 使用介绍的更多相关文章
- KingbaseES DBLink 扩展介绍
DBLink 扩展插件功能与 Kingbase_FDW 类似,用于远程访问KingbaseES 数据库.相比于Kingbase_FDW,DBLink 功能更强大,可以执行DML,还可以通过 begin ...
- KDB_Database_Link 使用介绍
kdb_database_link 是 KingbaseES 为了兼容oracle 语法而开发的跨数据库访问扩展,可用于访问KingbaseES, Postgresql , Oracle .以下分别介 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
随机推荐
- UiPath参数介绍和使用
一.参数介绍 用于将数据从一个项目传递到另一个项目.在全局意义上,它们类似于变量,因为它们动态地存储数据并传递给它.变量在活动之间传递数据,而参数在自动化之间传递数据.因此,它们使你能够一次又一次地重 ...
- linux shell的配置文件执行顺序
shell配置文件的作用:初始化环境变量.设置命令提示符.指定系统命令路径等 shell配置文件分类: (1)系统级别配置文件: /etc下,比如/etc/profile./etc/bashrc (2 ...
- python基础教程:定义类创建实例
类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 >>>class Person(object): #所有的类都是从object类继承 pass #pass ...
- 十进制转换为K进制 Java 代码
最近在读<计算机科学导论--跨学科方法>(机械工业出版社),习题索引:1.3.21: 编写一个新程序Kary,输入两个命令行参数i和k,并将i转换为基数k的数值表示.假设i是java中的l ...
- C#.NET笔试题-高级
1.说说什么是架构模式. 1,分层. 2,分割. 分层是对网站进行横向的切分,那么分割就是对网站进行纵向的切分.将网站按照不同业务分割成小应用,可以有效控制网站的复杂程度. 3,分布式. 在大型网站中 ...
- 临近梯度下降算法(Proximal Gradient Method)的推导以及优势
邻近梯度下降法 对于无约束凸优化问题,当目标函数可微时,可以采用梯度下降法求解:当目标函数不可微时,可以采用次梯度下降法求解:当目标函数中同时包含可微项与不可微项时,常采用邻近梯度下降法求解.上述三种 ...
- ApiDay001 __02 Java_StringBuilder
Java 核心API StringBuilder String 类型的连接性能不好,Java提供了StringBuilder解决字符串连接性能问题. 简单理解 StringBuilder性能好!(重点 ...
- 微信公众号授权登录后报redirect_uri参数错误的问题
在进行微信公众号二次开发的时候,需要通过授权码模式来进行微信授权.比如,在进行登录的时候,用户点击了登录按钮,然后弹出一个授权框,用户点击同意后,就可以获取用户的OpenId等信息了.这篇文章主要 ...
- vscode 个人配置 settings.json
{ "workbench.colorTheme": "Default Dark+", "workbench.iconTheme&quo ...
- Redis缓存雪崩、缓存穿透、缓存击穿
缓存雪崩 Redis中的缓存数据是有过期时间的,当在同一时间大量的缓存同时失效时就会造成缓存雪崩. 解决方案 1.设置Redis中的key永不过期,缺点是会占用很多内存 2.使用Redis的分布式锁S ...