问题标签 [postgres-fdw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - 使用 postgreSQL 从多个服务器查询表
我在不同的 PostgreSQL 服务器上有几个数据库,其中的表具有相同的列(installs_1、installs_2 和 installs_3)
installs(country varchar, date datetime,paid boolean, installs int)
我想编写一个用户可以用来一次查询所有这些数据库的函数,我该怎么做? 我的查询是:select country,count(*) from t1,t2
postgresql - 如何使用 anyarray 列导入外部模式?
是否可以查询pg_catalog
远程 Postgres 服务器的架构?我正在尝试访问远程服务器的一些简单统计信息。我尝试导入外部模式,但它在 anyarray 列上失败。
我能够单独导入没有任何数组列的表。
postgresql - postgres_fdw 在分析期间减少数据下载
在分析外部表期间,我postgres_fdw
在外部服务器上看到了很多获取。对于大表,它会获取所有数据,即使它在样本中给了我 300 条记录:
我认为它只会发送静态样本中使用的数据,但看起来整个表正在发送给请求者。我试图改变default_statistic_target
每一列:
但它看起来在获取方面没有任何区别。
在分析外部 postgresql 表期间是否有任何选项可以减少网络数据 I/O?
PS。我不想开机use_remote_estimates
。9.6.9
它破坏了共享内存,在某些9.6.17
查询中给出了错误。
postgresql - Postgres fdw 使用外部触发器插入记录
我已经为第二个 Postgres 数据库建立了一个外部数据包装器并导入了外部模式。现在,当我尝试从我的主数据库向其中一个外部表插入一行时,它会遇到一个在插入触发器上调用的函数。此触发器正在检查外部表上存在的另一个表,但它说“关系“the_other_table”不存在。我可以从主数据库中选择它,但在执行触发器时它看不到它。
我尝试使用相同名称的两个架构,然后将架构重新导入到不同的名称,但仍然没有。就好像它正在我的主表上执行触发器,但不知道在哪里寻找另一个表。
有任何想法吗?
oracle - 如何将 PostgreSQL 数据库连接到 Oracle
我已将 Oracle 数据库迁移到 AWS Aurora PostgreSQL。我的应用程序正在连接到 AWS RDS 上 Oracle 数据库上的另一个上游应用程序。
我正在从上游应用程序生成库存报告。之前都是Oracle数据库,所以他们使用dblink连接上游/下游数据库。
dblink 和 postgresql_fdw 已安装,并且都连接到不同的 postgres 数据库而不是 oracle db。
我的问题是如何从 postgres 连接到 Oracle db。
postgresql - postgres_fdw 扩展性能低下
我需要定期将数据从 TMP 数据库复制到远程 PROD 数据库,并在列中进行一些数据修改。当我使用来自 PROD 数据库的 postgres_fdw 扩展(带有映射外部模式)时,复制一百万条记录的过程持续 6 分钟。
但是,当我使用 dblink 从 PROD 数据库中复制同一张表时(SQL 在 PROD 数据库上运行,而不是在 TEMP 上),该过程持续 20 秒。
如何优化和缩短从 TEMP 数据库复制数据的过程?
我必须在 TMP 数据库上运行 SQL 命令。TMP 和 PROD 数据库在同一个版本中 (10)。
postgresql - Postgres fdw 服务器关系不存在
我正在尝试使用 FDW 在本地的 postgres 数据库之间创建链接。这是我创建此链接的代码:
TEST 表存在于 TestDatabase 上,并且 test_public 模式存在于我正在创建 FDW 的当前数据库上。当我最初创建并测试它时,我可以看到没有问题的对象,但是我的开发过程的一部分(对于这个特定项目)是删除当前的所有对象并从头开始重新运行,所以当我们将它移动到我们知道从头到尾的新环境一切都很稳固。
我遇到的问题是我再也看不到外部表“TEST_TABLE”。
当我运行这个:
我得到以下返回:
但是当我从表 test_public.test_table 中选择时,我得到以下错误:
在此过程中,我能够弄清楚我的所有问题,但即使在逐步运行此操作而不是完整部署之后,我似乎也无法再访问外部表了。关于我缺少什么的任何建议?
postgresql - 使用声明性分区和 postgres_fdw 进行分片时在 Postgresql 中插入缓慢?
我们一直在尝试使用内置的 Postgresql 声明式分区在谷歌云上对 postgresql 数据库进行分区,postgres_fdw
如here所述。
我们正在运行以下命令:
分片 1:
分片 2:
源机:
我们面临的问题是,当我们尝试使用以下查询插入数据时:
插入大约 2000 万个条目需要将近1 小时 50 分钟。当我们没有对表进行分片时,执行相同的操作大约需要8 分钟。所以,这基本上比没有分片慢 14 倍。我们是否在这里遗漏了任何东西,或者插入使用这种方法进行分片的速度很慢?
如本视频所述,Citus 在插入中的表现似乎更好,所以对我来说,分片实际上会使性能降低这么多似乎有点奇怪。因此,它的性能可能不如 citus 好,但为什么性能如此之低。
提前致谢!!!
postgresql - 当用户映射的密码更改时会发生什么?
我想在我们的数据库中使用一项服务,但它不支持 Amazon RDS IAM 数据库身份验证。我的计划是有一个模拟数据库,它只包含原始 postgres 数据库中所需的表,并有一个脚本,每次过期(15 分钟)时都会在真实数据库上刷新服务的用户密码。
当我对外国用户调用ALTER USER MAPPING时会发生什么?它是否使用新的用户名和密码重新连接到服务器?
postgresql - 如何使用 postgres_fdw 设置外部表的权限?
源数据位于数据库键的公共模式中的键表中 (参考 pg 文档: https ://www.postgresql.org/docs/current/postgres-fdw.html ):
引用用户/模式/数据库是vids / public / vids。
- 设置服务器连接
- 创建用户映射
- 创建表映射
- 在vids db中作为vids连接时尝试访问外部表:
鉴于用户键是外部数据库中键表的所有者,我不明白。这里应该做什么?