Waiting for 9.5 – BRIN: Block Range Indexes.

On 7th of November, Alvaro Herrera committed patch: BRIN is a new index access method intended to accelerate scans of very large tables, without the maintenance overhead of btrees or other traditional indexes. They work by maintaining "summary" data about block ranges. Bitmap index scans work by reading each summary tuple and comparing them with … Continue reading “Waiting for 9.5 – BRIN: Block Range Indexes.”

Waiting for 9.2 – pg_stat_statements improvements

Three interesting patches: On 27th of March, Robert Haas committed patch: New GUC, track_iotiming, to track I/O timings.   Currently, the only way to see the numbers this gathers is via EXPLAIN (ANALYZE, BUFFERS), but the plan is to add visibility through the stats collector and pg_stat_statements in subsequent patches.   Ants Aasma, reviewed by … Continue reading “Waiting for 9.2 – pg_stat_statements improvements”

Waiting for 9.1 – Faster LIKE/ILIKE

On 1st of February, Tom Lane committed patch: Support LIKE and ILIKE index searches via contrib/pg_trgm indexes.   Unlike Btree-based LIKE optimization, this works for non-left-anchored search patterns. The effectiveness of the search depends on how many trigrams can be extracted from the pattern. (The worst case, with no trigrams, degrades to a full-table scan, … Continue reading “Waiting for 9.1 – Faster LIKE/ILIKE”

Waiting for 9.1 – Unlogged tables

On 29th of December, Robert Haas committed interesting patch, which does: Support unlogged tables.   The contents of an unlogged table aren’t WAL-logged; thus, they are not available on standby servers and are truncated whenever the database system enters recovery. Indexes on unlogged tables are also unlogged. Unlogged GiST indexes are not currently supported. (edited … Continue reading “Waiting for 9.1 – Unlogged tables”

Waiting for 9.1 – KNNGIST

On 4th of December, Tom Lane committed really cool patch: KNNGIST, otherwise known as order-by-operator support for GIST. This commit represents a rather heavily editorialized version of Teodor’s builtin_knngist_itself-0.8.2 and builtin_knngist_proc-0.8.1 patches. I redid the opclass API to add a separate Distance method instead of turning the Consistent method into an illogical mess, fixed some … Continue reading “Waiting for 9.1 – KNNGIST”

Waiting for 8.4 – Visibility maps

Yeah. This one patch alone is worth upgrading to 8.4. On 3rd of December Heikki Linnakangas committed his patch. Commit message: Introduce visibility map. The visibility map is a bitmap with one bit per heap page, where a set bit indicates that all tuples on the page are visible to all transactions, and the page … Continue reading “Waiting for 8.4 – Visibility maps”

Waiting for 8.4 – Common Table Expressions (WITH queries)

On 4th of September Tom Lane committed another great patch. This one is very large, and even after applying – it’s has some rough edges. There will be need for additional patches to make the functionality fully robust, but the fact that it got committed means that it will be available in final 8.4. What … Continue reading “Waiting for 8.4 – Common Table Expressions (WITH queries)”