Changelog ========= 2026-11-01 version 1.4.5: ------------------------- **Bug fixes**: - Fix long standing thinko in hypo_estimate_index (Julien Rouhaud) - Fix relid handling in hypothetical indexes, that could lead to a crash (Julien Rouhaud) 2026-10-25 version 1.4.4: ------------------------- **Bug fixes**: - Fix hypothetical index name for Oid >= 2^31 (Devrim Gündüz) - Fix memory leak of WITH clause options (Devrim Gündüz) - Check maximum number of columns with included columns too (Devrim Gündüz, Julien Rouhaud) - Invalidate hypothetical indexes when receiving an invalidation message for on the dependent object when possible (relations, functions, access methods, operator classes, types), or just any invalidation message for all other object type (Julien Rouhaud, per initial from Devrim Gündüz) - Fix indcollation and indclass columns in hypopg() (Matt Blewitt) - Prevent failed EXPLAIN from affecting later queries (Matt Blewitt, Julien Rouhaud) - Protect hypothetocal Oid range query against user objects (Julien Rouhaud, per report from Matt Blewitt) **Miscellaneous**: - Additional pg 19 compatibility fixes (Julien Rouhaud, with one problem reported by Nacho Alonso Portillo) 2026-06-20 version 1.4.3: ------------------------- **Miscellaneous**: - Fix compatibility with PostgreSQL 19 (Julien Rouhaud) **Bug fixes**: - Fix long standing Int8GetDatum bugs (Julien Rouhaud) 2025-06-29 version 1.4.2: ------------------------- **Miscellaneous**: - Fix compatibility with PostgreSQL 18 (Georgy Shelkovy) - Comment and adjust index size estimation (Stefan Halfpap) - Documentation proofreading (Matthew D'Angelo) 2024-04-28 version 1.4.1: ------------------------- **Bug fixes**: - Fix hypothetical index names when its Oid is more than 1 billion (Julien Rouhaud, thanks to github user sylph520 for the report) - Fix hypothetical index deparsing when attributes need quoting (Julien Rouhaud, thanks to Daniel Lang for the report) **Miscellaneous**: - Add support for PostgreSQL 17 (Georgy Shelkovy, Julien Rouhaud) 2023-05-27 version 1.4.0: ------------------------- **New features**: - Support hypothetically hiding existing indexes, hypothetical or not (github user nutvii and Julien Rouhaud) **Miscellaneous**: - Have hypopg_relation_size() error out rather than returning 0 if called for an oid that isn't a hypothetical index oid - Slighthly reduce memory usage for hypothetical btree indexes without INCLUDE keys 2021-06-21 version 1.3.1: ------------------------- **Miscellaneous**: - Fix compatibility with PostgreSQL 14 beta 2 2021-06-04 version 1.3.0: ------------------------- **New features**: - Add support for hypothetical hash indexes (pg10+) 2021-02-26 version 1.2.0: ------------------------- **New features**: - Make hypopg work on standby servers using a new "fake" oid generator, that borrows Oids in the FirstBootstrapObjectId / FirstNormalObjectId range rather than real oids. If necessary, the old behavior can still be used with the new hypopg.use_real_oids configuration option. **Bug fixes** - Check if access methods support an INCLUDE clause to avoid creating invalid hypothetical indexes. - Display hypothetical indexes on dropped table in hypopg_list_indexes. **Miscellaneous** - Change hypopg_list_indexes() to view hypopg_list_indexes. - Various documentation improvements. 2020-06-24 version 1.1.4: ------------------------- **New features**: - Add support for hypothetical index on partitioned tables **Miscellaneous** - Fix compatibility with PostgreSQL 13 **Bug fixes** - Check that the target relation is a table or a materialized view 2019-06-16 version 1.1.3: ------------------------- **Miscellaneous** - Fix compatibility with PostgreSQL 12 - Don't leak client_encoding change after hypopg extension is created (Michael Kröll) - Use a dedicated MemoryContext to store hypothetical objects - Fix compatibility on Windows (Godwottery) **Bug fixes** - Call previous explain_get_index_name_hook if it was setup - add hypopg_reset_index() SQL function 2018-05-30 version 1.1.2: ------------------------- **New features** - Add support for INCLUDE on hypothetical indexes (pg11+) - Add support for parallel hypothetical index scan (pg11+) **Bug fixes:** - Fix support for pg11, thanks to Christoph Berg for the report 2018-03-20 version 1.1.1: ------------------------- **Bug fixes**: - Fix potentially uninitialized variables, thanks to Jeremy Finzel for the report. - Support hypothetical indexes on materialized view, thanks to Andrew Kane for the report. **Miscellaneous**: - add support for PostgreSQL 11 2017-10-04 version 1.1.0: ------------------------- **New features**: - add support for hypothetical indexes on expression - add a hypopg_get_indexdef() function to get definition of a stored hypothetical index **Bug fixes**: - don't allow hypothetical unique or multi-column index if the AM doesn't support it - disallow hypothetical indexes on system columns (except OID) - fix indexes using DESC clause and default NULLS ordering, thanks to Andrew Kane for the report and test case. - fix PostgreSQL 9.6+ support, thanks to Rob Stolarz for the report **Miscellaneous**: - add support for PostgreSQL 10 2016-10-24 version 1.0.0: ------------------------- - fix memory leak in hypopg() function 2016-07-07 version 0.0.5: ------------------------- - add support for PostgreSQL 9.6, thanks to Konstantin Mosolov for fixing some issues - add support from new bloom access method (9.6+) - fix issue with hypothetical indexes on expression (thanks to Konstantin Mosolov) - fix possible crash in hypothetical index size estimation 2015-11-06 version 0.0.4: ------------------------- - remove the simplified "hypopg_add_index()" function - free memory when hypothetical index creation fails - check that number of column is suitable for a real index - for btree indexes, check that the estimated average row size is small enough to allow a real index creation. - handle BRIN indexes. - handle index storage parameters for supported index methods. - handle index on predicate. - safer handling of locks. 2015-08-08 version 0.0.3: ------------------------- - fix a bug when a regular query could fail after a hypothetical index have been created, and tested with explain. - hypopg_create_index() and hypopg_add_index() now returns the oid and index names. - add hypopg.enabled GUC. It allows disabling HypoPG globally or in a single backend. Thanks to Ronan Dunklau for the patch. 2015-07-08 version 0.0.2: ------------------------- - fix crash when building hypothetical index on expression, thanks to Thom Brown for the report. 2015-06-24 version 0.0.1: ------------------------- - First version of HypoPG.