У меня есть много внешних таблиц, импортированных с помощью IMPORT FOREIGN SCHEMA
:
CREATE USER MAPPING FOR myuser
SERVER postgres
OPTIONS ( user 'myuser', password 'mypass');
IMPORT FOREIGN SCHEMA public from server postgres INTO public;
У меня есть много запросов, которые объединяют мои локальные таблицы и внешние таблицы.
Q1: Если я использую 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');