PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment utiliser l'index dans la requête SELECT MAX(id) de la table étrangère dans PostgreSQL ?

Postgres_fdw n'a pas accès aux index. Utiliser la vue sur un serveur distant, par exemple :

create view test_max as
select max(val) max_val
from test;

Sur le serveur local, définissez un wrapper pour la vue distante :

create foreign table back_test_max (
    max_val int
)
    server back_server
    options (schema_name 'public', table_name 'test_max');

Sélectionne sur back_test_max utilisera une vue distante, et donc aussi l'index de la table distante d'origine.