好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > postgresql 利用fdw來實現不同數據庫之間數據互通(推薦)

postgresql 利用fdw來實現不同數據庫之間數據互通(推薦)

熱門標簽:奧維地圖標注字體大小修改 北京智能外呼系統供應商家 高德地圖標注電話怎么沒了 智能電銷機器人教育 電話機器人錄音師薪資 中國地圖標注省份用什么符號 無錫梁溪公司怎樣申請400電話 江西穩定外呼系統供應商 孝感銷售電銷機器人廠家

前言
最近在工作的時候 需要用數據庫A中的表a1來更新插入數據庫B中的b2表 由于數據庫都是postgres數據庫
我想到了 postgres_fdw插件

準備工作
首先需要保證這兩個數據庫之間網 是通的

數據庫A 名字 AA ip 10.10.2.100(虛構)端口 5432 用戶名 postgres
數據庫B 名字 BB ip 100.20.0.120(虛構)端口 6688 用戶名 postgres

一 利用fdw創建2個數據庫之間的連接

1.1 安裝 postgres_fdw插件

Create extension "postgres_fdw";

 

1.2 創建外部連接

無論你實在A數據庫中創建B數據庫的連接 ,還是在B數據庫中創建A數據庫的連接 從本質上是一樣的,都是為了打通2個數據庫,實現數據互通
1.2.1 在A數據庫創建b數據庫的連接

 --創建外部服務器
-- 括號里的三個參數,分別是數據庫b的ip、端口和數據庫名稱
CREATE SERVER lianjiebb FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '100.20.0.120', port '6688', dbname 'BB');
--創建用戶映射·
-- 括號里的兩個參數,分別是數據庫b數據庫的用戶名、密碼
create user mapping for postgres server lianjiebb options(user 'postgres', password '數據庫密碼');

1.2.2 在b數據庫創建a數據庫的連接

--創建外部服務器
-- 括號里的三個參數,分別是數據庫a的ip、端口和數據庫名稱
CREATE SERVER lianjieAA FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '10.10.2.100', port '5432', dbname 'AA');
--創建用戶映射·
-- 括號里的兩個參數,分別是數據庫a數據庫的用戶名、密碼
create user mapping for postgres server lianjieAA options(user 'postgres', password '數據庫密碼');

1.2.3 查詢 外部鏈接

select * from pg_foreign_server;

1.3 創建外部表

在A數據庫創建b1表的外部鏈接

CREATE FOREIGN TABLE tb_fdw_b1
 (
 collect_time timestamp(6),
 id varchar(36) ,
 列名1 numeric(12,2) ,
 列名2 int4 ,
列名3 timestamp(6)
 ) --跟b1 一模一樣的表結構就行
 server lianjiebb --你創建的外部鏈接名字
 options (table_name '時序庫的表名');

查看外部表是否有數,有數就表示ok了

select * from tb_fdw_b1;

在數據庫b上創建a1表的外部鏈接也是一樣的

二 插入數據

2.1 往外部表tb_fdw_b1 插入表a1的數據

因為 倆個表都是一樣的表結構,可以直接插入

INSERT into tb_fdw_b1 SELECT * from a1;

因為外部表是實時的 在數據庫a中更改了 外部表tb_fdw_b1 的數據 ,數據庫B中的b1表中的數據也隨之改變 達成了我們一開始的目的

更新 UPDATE 刪除DELETE 也是一樣的 在這里就不說了

三 利用定時任務來達成自動同步

每天都需要執行顯然不符合我們的“懶人”形象 ,所以用定時任務來實現明天自動同步是必不可少的 我讓他每天早上8點自動執行

3.1 利用 pgadmin實現定時同步(截圖)

3.1.1

3.1.2

3.1.3

3.1.4

3.2 直接上語句實現定時同步

DO $$
DECLARE
 jid integer;
 scid integer;
BEGIN
-- Creating a new job
INSERT INTO pgagent.pga_job(
 jobjclid, jobname, jobdesc, jobhostagent, jobenabled
) VALUES (
 1::integer, '更新表b1'::text, ''::text, ''::text, true
) RETURNING jobid INTO jid;

-- Steps
-- Inserting a step (jobid: NULL)
INSERT INTO pgagent.pga_jobstep (
 jstjobid, jstname, jstenabled, jstkind,
 jstconnstr, jstdbname, jstonerror,
 jstcode, jstdesc
) VALUES (
 jid, '更新表b1'::text, true, 's'::character(1),
 ''::text, '數據庫A'::name, 'f'::character(1),
 ' INSERT into tb_fdw_b1 SELECT * from a1;'::text, ''::text
) ;

-- Schedules
-- Inserting a schedule
INSERT INTO pgagent.pga_schedule(
 jscjobid, jscname, jscdesc, jscenabled,
 jscstart, jscend, jscminutes, jschours, jscweekdays, jscmonthdays, jscmonths
) VALUES (
 jid, '更新表b1'::text, ''::text, true,
 '2021-02-07 10:24:50 +08:00'::timestamp with time zone, '2100-02-07 10:24:52 +08:00'::timestamp with time zone,
 -- Minutes
 ARRAY[true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]::boolean[],
 -- Hours
 ARRAY[false,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]::boolean[],
 -- Week days
 ARRAY[false,false,false,false,false,false,false]::boolean[],
 -- Month days
 ARRAY[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]::boolean[],
 -- Months
 ARRAY[false,false,false,false,false,false,false,false,false,false,false,false]::boolean[]
) RETURNING jscid INTO scid;
END
$$;

到此這篇關于postgresql 利用fdw來實現不同數據庫之間數據互通的文章就介紹到這了,更多相關postgresql實現數據互通內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python連接PostgreSQL數據庫的過程詳解
  • PHP連接及操作PostgreSQL數據庫的方法詳解
  • C# 操作PostgreSQL 數據庫的示例代碼
  • 在Ubuntu中安裝Postgresql數據庫的步驟詳解
  • Linux下創建Postgresql數據庫的方法步驟

標簽:臨滄 泰州 通化 荊州 那曲 齊齊哈爾 海北 阜陽

巨人網絡通訊聲明:本文標題《postgresql 利用fdw來實現不同數據庫之間數據互通(推薦)》,本文關鍵詞  postgresql,利用,fdw,來,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《postgresql 利用fdw來實現不同數據庫之間數據互通(推薦)》相關的同類信息!
  • 本頁收集關于postgresql 利用fdw來實現不同數據庫之間數據互通(推薦)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 51漫画?黄漫免费网站| 毛片免费全部免费观看| 精品国产九九| 在线免费观看国产视频| 精产一二三产区划分标准图片| 江湖艳史| 丝瓜黄瓜茄子秋葵草莓| 老师戴乳环上课被调教| 欧美老熟妇乱大交XXXXX| 日本一品和二品区别| 污小说网站| 555夜色666亚洲精品站| 97人妻人人澡人人人爽人人sex| 情迷女人香小说完整版下载| 久久黄色一级视频| 就爱啪啪网| 欧美三级做爰在线观看| 美妇岳的肉泬第69部分在线观看| 免费一级欧美大片在线观看| 亚洲视频第一页| 丫鬟的艳史h| 国产色情三级国产三级在线观看| 日本不卡一区在线| 欧美AV性free护士18大胸| 久久99热狠狠色AV蜜桃| 污漫推荐| 日本老妇和子乱视频| 小师弟只想咸鱼| 久久久夜色精品亚洲AV李宗瑞 | 美女gif动图啪啪gif动图| 久久伦理片| 久久久无码AV精品夜夜挺价格 | 欧美精品一区二区三区AV麻豆| 男女抹胸吃奶摸下面视频| **在线影院| 清超市欲目录大团结| 国产高潮又爽又无遮挡又免费孕妇 | 波多野结衣教师系列什么时候更新| 久久人妻无码一区二区美国快递| 女生被舔下面视频| 后宫露营!动漫|