gpt4 book ai didi

postgresql - 对外部表使用 PostgreSQL pg_prewarm

转载 作者:行者123 更新时间:2023-11-29 12:35:01 25 4
gpt4 key购买 nike

我有很多通过 IMPORT FOREIGN SCHEMA 导入的外部表:

CREATE USER MAPPING FOR myuser
SERVER postgres
OPTIONS ( user 'myuser', password 'mypass');
IMPORT FOREIGN SCHEMA public from server postgres INTO public;

我有很多连接本地表和外部表的查询。

问题 1:如果我使用 pg_prewarm 并将整个表放在内存中,并不是每次都能通过网络获取该表。

Q2:如果外部表被缓存,我担心外部 PostgreSQL 服务器上的数据更改是否会在我的本地服务器上可见。

例子:core_category是一个外部表

SELECT pg_prewarm(
'core_category',
-- "pre warm" pages of the last 1000 pages for 'mytable'
first_block := (
SELECT pg_relation_size('core_category') / current_setting('block_size')::int4 - 1000
)
);
-- or
SELECT * FROM pg_prewarm('core_category', 'buffer');

最佳答案

使用 pg_prewarm在外表上没有意义:因为该表未存储在 PostgreSQL 中,PostgreSQL 无法将其加载到共享缓冲区或文件系统缓存中。

确实,尝试这样做会导致

ERROR: fork "main" does not exist for this relation

要加快涉及外部表的查询,您必须获取外部数据源以将数据缓存在内存中。

关于postgresql - 对外部表使用 PostgreSQL pg_prewarm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52830144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com