Saturday, March 23

Author: Jaime Casanova

Indexando ando: Índices GIN

El Planeta PostgreSQL de Jaime, PostgreSQL
PostgreSQL tiene varios tipos de índices: B-tree, Hash, GiST, Gin y SP-GiST. Obviamente cada uno de ellos cubre una necesidad específica. Por ejemplo, la documentación de PostgreSQL dice sobre los índices GIN: Los índices GIN son índices invertidos que pueden manejar valores que contienen más de una clave, arreglos, por ejemplo. Como GiST y SP-GiST, GIN puede soportar diferentes estrategias de indexación definidos por el usuario y los operadores particulares con la que un índice GIN se puede utilizar varía en función de la estrategia de indexación. A modo de ejemplo, la distribución estándar de PostgreSQL incluye clases de operador GIN para arreglos unidimensionales, que admiten consultas indexadas utilizando estos operadores: <@ @> = && (Consulte la (more…)

VACUUM FREEZE y el misterio de relfrozenxid

El Planeta PostgreSQL de Jaime
En noviembre del 2012 asistí al PgDay en Buenos Aires. Ahí presente la charla "Autovacuum, ¿bendición o maldición? Afrontando el reto". En uno de los puntos de la charla explique, o al menos eso trate, que es necesario tratar de prevenir que el autovacuum ejecute VACUUM FREEZE. El problema con VACUUM FREEZE ejecutado por el autovacuum es que leerá y escribirá toda la tabla y las probabilidades son que el autovacuum decida hacer esto en un momento de alta actividad. Durante la charla entonces explique que podemos tratar de adelantarnos al autovacuum chequeando el valor del campo relfrozenxid en la tabla de sistema pg_class, ahora agregare que la consulta es similar a: select relname, age(relfrozenxid) from pg_class where relkind = 'r' order by 2 desc; En todo caso, como era de (more…)

Managing useful clusters with repmgr

Jaime's PlanetPostgreSQL
To create a standby in PostgreSQL is relatively easy, and because of the hot standby feature, that alone is certainly very useful. But creating a useful cluster that gives us real HA... that's another story. The complexities added by failure detection, STONITH rules and choosing a new master could be overwhelming. But still, it is an important part of maintaining a healthy PostgreSQL environment. Repmgr 2.0 gives you the opportunity to configure a more streamlined failover process for when you need it. Repmgr 2.0 was released as a beta about a month ago, and we incorporated many feature requests received from the community. If you requested something of the tool which didn’t make it into this release, keep on us, as we’ve been working hard to insure we a had release out prior to 9.2 (more…)