postgresql 中的postgres_fdw

2023-12-15 18:32
文章标签 postgresql fdw postgres

本文主要是介绍postgresql 中的postgres_fdw,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

两台主机,192.168.11.67192.168.11.70
67机器上的
[postgres@pg contrib]$ psql
psql (9.4.4)
Type "help" for help.postgres=# select * from pg_foreign_data_wrapper;fdwname    | fdwowner | fdwhandler | fdwvalidator | fdwacl | fdwoptions 
--------------+----------+------------+--------------+--------+------------dblink_fdw   |       10 |          0 |        16965 |        | postgres_fdw |       10 |      16968 |        16969 |        | 
(2 rows)postgres=# \dxList of installed extensionsName     | Version |   Schema   |                         Description                          
--------------+---------+------------+--------------------------------------------------------------dblink       | 1.1     | public     | connect to other PostgreSQL databases from within a databaseplpgsql      | 1.0     | pg_catalog | PL/pgSQL procedural languagepostgres_fdw | 1.0     | public     | foreign-data wrapper for remote PostgreSQL servers
(3 rows)postgres=# create server server_remote_70 foreign data wrapper postgres_fdw options(host '192.168.11.70',port '5432',dbname 'postgres');
CREATE SERVER
postgres=# select * from pg_foreign_server ;srvname      | srvowner | srvfdw | srvtype | srvversion | srvacl |                   srvoptions                   
------------------+----------+--------+---------+------------+--------+------------------------------------------------server_remote_70 |       10 |  16970 |         |            |        | {host=192.168.11.70,port=5432,dbname=postgres}
(1 row)postgres=# \desList of foreign serversName       |  Owner   | Foreign-data wrapper 
------------------+----------+----------------------server_remote_70 | postgres | postgres_fdw
(1 row)--for后面的postgres是本地登录执行的用户名,option里存储的是远程的用户密码
postgres=# create user mapping for postgres server server_remote_70 options(user 'postgres',password 'postgres');
CREATE USER MAPPING
postgres=# select * from pg_user_mappings;umid  | srvid |     srvname      | umuser | usename  |             umoptions             
-------+-------+------------------+--------+----------+-----------------------------------17022 | 17021 | server_remote_70 |     10 | postgres | {user=postgres,password=postgres}
(1 row)postgres=# \dList of relationsSchema |  Name   |     Type      |  Owner   
--------+---------+---------------+----------public | a       | table         | postgrespublic | tbl_fdw | foreign table | postgres
(2 rows)
postgres=# CREATE FOREIGN TABLE tbl_fdw(id int) server server_remote_70 options (schema_name 'public',table_name 'tb1');
CREATE FOREIGN TABLE
postgres=# select * from tbl_fdw ;id 
----123
(3 rows)70中的数据
postgres=# \d tb1Table "public.tb1"Column |  Type   | Modifiers 
--------+---------+-----------id     | integer | postgres=# select * from tb1;id 
----123
(3 rows)

这篇关于postgresql 中的postgres_fdw的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/497431

相关文章

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

PostgreSQL入门介绍

一、PostgreSQL 背景及主要功能介绍 1、背景 PG数据库,全称为PostgreSQL数据库,是一款开源的关系型数据库管理系统(RDBMS)。其起源可以追溯到20世纪80年代末和90年代初,由加拿大的计算机科学家Michael Stonebraker及其团队在加州大学伯克利分校启动。该项目旨在创建一个强大的、开源的关系型数据库管理系统,作为早期关系型数据库系统Ingres的继承者。Mi

postgres数据库中如何看查询是否走索引,以及在什么情况下走索引

在 PostgreSQL 中,可以通过 EXPLAIN 或 EXPLAIN ANALYZE 查看查询计划,以判断查询是否使用了索引。除此之外,了解索引的使用条件对于优化查询性能也很重要。 1. 如何查看查询是否使用索引 使用 EXPLAIN 查看查询计划 EXPLAIN 显示 PostgreSQL 如何执行查询,包括是否使用索引。 EXPLAIN SELECT * FROM users WH

PostgreSQL索引介绍

梦中彩虹   博客园首页新随笔联系管理 随笔 - 131  文章 - 1  评论 - 14 PostgreSQL索引介绍 INDEX 索引是增强数据库性能的常用方法。索引使得数据库在查找和检索数据库的特定行的时候比没有索引快的多。但索引也增加了整个数据库系统的开销,所以应该合理使用。 介绍 假设我们有一个类似这样的表: CREATE TABLE test1 (id integ

PostgreSQL分区表(partitioning)应用实例详解

https://www.jb51.net/article/97937.htm   PostgreSQL分区表(partitioning)应用实例详解  更新时间:2016年11月22日 10:25:58   作者:小灯光环    我要评论   这篇文章主要为大家详细介绍了PostgreSQL分区表(partitioning)应用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

PostgreSql中WITH语句的使用

https://blog.csdn.net/chuan_day/article/details/44809125 PostgreSql中WITH语句的使用 With语句是为庞大的查询语句提供了辅助的功能。这些语句通常是引用了表表达式或者CTEs(一种临时数据的存储方式),可以看做是一个查询语句的临时表。在With语句中可以使用select,insert,update,delete语句。当然wit

【0324】Postgres内核 Shared Buffer Access Rules (共享缓冲区访问规则)说明

0. 章节内容 1. 共享磁盘缓冲区访问机制 (shared disk buffers) 共享磁盘缓冲区有两套独立的访问控制机制:引用计数(a/k/a pin 计数)和缓冲区内容锁。(实际上,还有第三级访问控制:在访问任何属于某个关系表的页面之前,必须持有该关系表的适当类型的锁。这里不讨论关系级锁。) Pins 在对缓冲区做任何操作之前,必须“对缓冲区pin”(即增加其引用计数, re

PostgreSQL 17即将发布,新功能Top 3

按照计划,PostgreSQL 17 即将在 2024 年 9 月 26 日发布,目前已经发布了第一个 RC 版本,新版本的功能增强可以参考 Release Notes。 本文给大家分享其中 3 个重大的新增功能。 MERGE 语句增强 MERGE 语句是 PostgreSQL 15 增加的一个新功能,它可以在单个语句中实现 INSERT、UPDATE 以及 DELETE 操作,非常适合数据

【0323】Postgres内核之 hash table sequentially search(seq_scan_tables、num_seq_scans)

0. seq scan tracking 我们在这里跟踪活跃的 hash_seq_search() 扫描。 需要这种机制是因为如果扫描正在进行时发生桶分裂(bucket split),它可能会访问两次相同的条目,甚至完全错过某些条目(如果它正在访问同一个分裂的桶中的条目)。因此,如果正在向表中插入数据,我们希望抑制桶分裂。 在当前的使用中,这种情况非常罕见,因此只需将分裂推迟到下一次插入即可。