{"repo":"HypoPG/hypopg","free":true,"listed":false,"github":"https://github.com/HypoPG/hypopg","clone":"git clone https://github.com/HypoPG/hypopg.git","description":"Hypothetical Indexes for PostgreSQL","language":"C","stars":1693,"topics":["postgresql","hypothetical-indexes","database","c","extension","indexing","index"],"license":null,"category":"databases-storage","readme_excerpt":"HypoPG ======= HypoPG is a PostgreSQL extension adding support for hypothetical indexes. A hypothetical -- or virtual -- index is an index that doesn't really exist, and thus doesn't cost CPU, disk or any resource to create. They're useful to know if specific indexes can increase performance for problematic queries, since you can know if PostgreSQL will use these indexes or not without having to spend resources to create them. For more thorough information, please consult the official documentation. For other general information, you can also consult this blog post. Installation ------------ - Compatible with PostgreSQL 9.2 and above - Needs PostgreSQL header files - Decompress the tarball - sudo make install - In every needed database: CREATE EXTENSION hypopg; Updating the extension ---------------------- Note that hypopg doesn't provide extension upgrade scripts, as there's no data saved in any of the objects created. Therefore, you need to first drop the extension then create it again to get the new version. Usage ----- NOTE: The hypothetical indexes are contained in a single backend. Therefore, if you add multiple hypothetical indexes, concurrent connections doing EXPLAIN won't be bothered by your hypothetical indexes. Assuming a simple test case: rjuju=# CREATE TABLE hypo AS SELECT id, 'line ' id AS val FROM generate series(1,10000) id; rjuju=# EXPLAIN SELECT FROM hypo WHERE id = 1; QUERY PLAN ------------------------------------------------------- Seq Scan on hypo (cost","default_branch":null,"files":null,"tree":[],"storefront":"/r/HypoPG","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HypoPG/hypopg/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}