{"id":19458484,"url":"https://github.com/postgrespro/hstore_ops","last_synced_at":"2025-04-25T06:30:26.277Z","repository":{"id":16391088,"uuid":"19141802","full_name":"postgrespro/hstore_ops","owner":"postgrespro","description":"Better operator class for hstore: smaller index and faster @\u003e queries.","archived":false,"fork":false,"pushed_at":"2023-11-13T12:53:25.000Z","size":26,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-24T10:48:41.063Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postgrespro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-04-25T09:59:18.000Z","updated_at":"2024-06-12T21:46:08.000Z","dependencies_parsed_at":"2024-11-10T17:29:37.038Z","dependency_job_id":null,"html_url":"https://github.com/postgrespro/hstore_ops","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fhstore_ops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fhstore_ops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fhstore_ops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postgrespro%2Fhstore_ops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postgrespro","download_url":"https://codeload.github.com/postgrespro/hstore_ops/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250766953,"owners_count":21483894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T17:27:16.355Z","updated_at":"2025-04-25T06:30:25.911Z","avatar_url":"https://github.com/postgrespro.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"hstore_ops - better operator class for hstore\n=============================================\n\nhstore_ops extension provides another implementation of GIN index (opclass)\nfor hstore - gin_hstore_hash_ops. It provides smaller index and faster @\u003e\noperator queries than default GIN opclass. However, queries containing ?,\n?|, ?\u0026 operators could become a bit slower.\n    \nIdea of this opclass is to use composite GIN key which consists of hashes\nof hstore key and value. Thus, search for @\u003e operator is possible as simple\nmatch for each queried key-value pair. Search for @\u003e, ?, ?|, ?\u0026 is possible\nas partial match for each queried hstore key. Recheck is essential for\nevery kind of search, because of possible hash collision. Hashing provides\nsmall size of index, mixing key and value into same GIN key provides high\nperformance for @\u003e search operator.\n\nAlso hstore_ops extension contains gin_hstore_bytea_ops - variation of\nstandard GIN opclass for hstore where collation key comparison is replaced\nwith per-byte comparison. This change doesn't affect any functionality,\njust makes index work faster when collation comparison is slow.\ngin_hstore_bytea_ops was introduced in version 1.1.\n\nAuthors\n-------\n\n * Alexander Korotkov \u003caekorotkov@gmail.com\u003e, Intaro Soft Ltd., Moscow, Russia\n * Oleg Bartunov \u003coleg@sai.msu.su\u003e, Moscow University, Moscow, Russia\n\nLicense\n-------\n\nDevelopment version, available on github, released under the\nGNU General Public License, version 2 (June 1991).\n\nDownloads\n---------\n\n    Stable version of hstore_ops is available from\n    https://github.com/postgrespro/hstore_ops\n\nInstallation\n------------\n\nhstore_ops is regular PostgreSQL extension depending on hstore contrib.\nTo build and install it you should ensure in following:\n    \n * You have development package of PostgreSQL installed or you built\n   PostgreSQL from source.\n * Your PATH variable configured so that pg_config command available.\n * You did \"CREATE EXTENSION hstore;\" before \"CREATE EXTENSION hstore_ops;\".\n    \nTypical installation procedure may look like this:\n    \n    $ git clone https://github.com/postgrespro/hstore_ops.git\n    $ cd hstore_ops\n    $ make USE_PGXS=1\n    $ sudo make USE_PGXS=1 install\n    $ make USE_PGXS=1 installcheck\n    $ psql DB -c \"CREATE EXTENSION hstore_ops;\"\n\nIf you used hstore_ops 1.0 then replace last command to upgrade to 1.1.\n\n    $ psql DB -c \"ALTER EXTENSION hstore_ops UPDATE TO '1.1';\"\n\nUsage\n-----\n\nJust create index on hstore column using one of following commands.\n   \n    CREATE INDEX index_name ON table_name USING GIN (column_name gin_hstore_hash_ops);\n    CREATE INDEX index_name ON table_name USING GIN (column_name gin_hstore_bytea_ops);\n    \nIndex will be automatically used for search on @\u003e, ?, ?|, ?\u0026 operators on this\ncolumn.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostgrespro%2Fhstore_ops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostgrespro%2Fhstore_ops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostgrespro%2Fhstore_ops/lists"}