日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 将查询出的数据加1-10_PostgreSQL数据库跨库访问

發布時間:2025/3/21 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 将查询出的数据加1-10_PostgreSQL数据库跨库访问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

跨庫訪問常用的三種方式:schema,dblink,postgres_fdw

第一種:schema(架構方式)

其實還是在一個數據庫中,只不過把不同數據保存在不同的架構中,創建與public并行的架構

訪問其他架構下面的需要帶上架構名稱.表名,如下格式

select * from public.test;

select * from test.test1;

如果認為輸入框架名稱太麻煩,可以設置

set search_path to "$user",public,test; 前面是固定格式,后面是對應要訪問的兩個框架,第一個參數為本框架,另一個為要訪問的框架,設置完成后訪問直接可以訪問表名,不需要加架構名稱

在public訪問test框架中的test1表:select * from test1;

第二種,dblink

跨庫查詢必須使用dblink,無法像Oracle那樣,授權然后直接訪問

首先創建擴展

create extension

dblink;

再去查詢

select * from dblink('host=127.0.0.1 dbname=postgres user=postgres password=123456','select * from account') as t(id int,name varchar(10));

如果要查詢別的數據庫的東西,可以創建視圖,然后從視圖中查詢

第三種 postgres_fdw

首先安裝該擴展

CREATE EXTENSION postgres_fdw;

然后使用CREATE SERVER創建一個外部服務器。在這個示例中,我們希望連接到主機為192.83.123.89 的PostgreSQL服務器,監聽端口為5432。遠程服務器上做連接的數據庫名為situation

CREATE SERVER foreign_server

FOREIGN DATA WRAPPER postgres_fdw

OPTIONS (host '192.168.6.168', port '5432', dbname 'situation');

也需要一個使用CREATE USER MAPPING定義的用戶映射,辨認將要在遠程服務器上使用的角色:

CREATE USER MAPPING FOR postgres

SERVER foreign_server

OPTIONS (user 'postgres', password 'admin@110');

現在可以用CREATE FOREIGN TABLE創建一個外部表了。在這個示例中,我們希望訪問遠程服務器上名為some_schema.some_table 的表。它的本地名為foreign_table:chatgroup為遠程表名

CREATE FOREIGN TABLE foreign_table (

id text NOT NULL,

groupid text,

userid text,

createuserid text,

createtime timestamp

)

SERVER foreign_server

OPTIONS (schema_name 'public', table_name 'chatgroup');

查詢數據

select * from foreign_table;

總結

以上是生活随笔為你收集整理的oracle 将查询出的数据加1-10_PostgreSQL数据库跨库访问的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。