Pgpool-II no invalidaría el caché de consultas para esquemas de usuario

Pgpool-II no invalidaría el caché de consultas para esquemas de usuario

He configurado pgpool2(v3.4.3) con postgresql(v9.5) para almacenar en caché consultas como esta:

memory_cache_enabled = on
memqcache_method = 'shmem'
memqcache_total_size = 67108864
memqcache_max_num_cache = 10000000
memqcache_expire = 600
memqcache_auto_cache_invalidation = on
memqcache_maxcache = 409600
memqcache_cache_block_size = 1048576
memqcache_oiddir = '/var/log/pgpool/oiddir'

Puedo confirmar que las consultas realmente se están almacenando en caché.

El problema es que el caché no se invalidaría incluso después de actualizaciones, inserciones y eliminaciones en la misma tabla. Eso es lo que sucede:

  • Seleccione una fila de la tabla; la caché no está presente; se realiza la selección real.
  • Seleccione la misma fila: la fila se recupera del caché.
  • Actualice la misma fila: éxito.
  • Seleccione la misma fila: la fila se recupera del caché.

La invalidación de caché funciona como se esperaba en publicel esquema, pero no en otros esquemas. He leído esto enPreguntas más frecuentes:

Cuando uso nombres de tablas calificados por esquema, pgpool-II no invalida la memoria caché de consultas y obtuve datos desactualizados. ¿Por qué? Parece que no instaló la función "pgpool_regclass". Sin la función, pgpool-II ignora el nombre del esquema del nombre de la tabla calificada por el esquema y la invalidación de la caché falla.

He instalado ambas pgpool_admextensiones y en las pgpool_recoverybases de datos y pero el caché aún no se invalida.pgpool_regclassapplicationpostgres

información relacionada