diff options
author | Christopher Baines <mail@cbaines.net> | 2020-08-23 14:40:17 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-08-23 14:42:32 +0100 |
commit | c7048abe31dc4903343eb3d598363dc23c2a1e46 (patch) | |
tree | 1a888696c3bc220b1f813a227ebacaf61b3055f6 | |
parent | 599c621b88c39e7d7e68912841fd2209bebf2d12 (diff) | |
download | data-service-c7048abe31dc4903343eb3d598363dc23c2a1e46.tar data-service-c7048abe31dc4903343eb3d598363dc23c2a1e46.tar.gz |
Change a package_descriptions index to use MD5 of the description
To avoid the index data being too large.
This was first seen in guix commit 1bb4fd64b7bbe5a17eda6f0ca8105283c038f7c8:
psql-query-error (fatal-error PGRES_FATAL_ERROR ERROR: index row size 2808
exceeds maximum 2712 for index "package_descriptions_locale_description_key"
HINT: Values larger than 1/3 of a buffer page cannot be indexed.
-rw-r--r-- | sqitch/deploy/change_package_descriptions_index.sql | 11 | ||||
-rw-r--r-- | sqitch/revert/change_package_descriptions_index.sql | 7 | ||||
-rw-r--r-- | sqitch/sqitch.plan | 1 | ||||
-rw-r--r-- | sqitch/verify/change_package_descriptions_index.sql | 7 |
4 files changed, 26 insertions, 0 deletions
diff --git a/sqitch/deploy/change_package_descriptions_index.sql b/sqitch/deploy/change_package_descriptions_index.sql new file mode 100644 index 0000000..da6b7f7 --- /dev/null +++ b/sqitch/deploy/change_package_descriptions_index.sql @@ -0,0 +1,11 @@ +-- Deploy guix-data-service:change_package_descriptions_index to pg + +BEGIN; + +ALTER TABLE package_descriptions DROP CONSTRAINT + package_descriptions_locale_description_key; + +CREATE UNIQUE INDEX package_descriptions_locale_description_key + ON package_descriptions USING btree (locale, MD5(description)); + +COMMIT; diff --git a/sqitch/revert/change_package_descriptions_index.sql b/sqitch/revert/change_package_descriptions_index.sql new file mode 100644 index 0000000..2861580 --- /dev/null +++ b/sqitch/revert/change_package_descriptions_index.sql @@ -0,0 +1,7 @@ +-- Revert guix-data-service:change_package_descriptions_index from pg + +BEGIN; + +-- XXX Add DDLs here. + +COMMIT; diff --git a/sqitch/sqitch.plan b/sqitch/sqitch.plan index 5cfe31b..477f869 100644 --- a/sqitch/sqitch.plan +++ b/sqitch/sqitch.plan @@ -67,3 +67,4 @@ build_status_add_unique_index 2020-06-30T17:19:30Z Christopher Baines <mail@cbai builds_remove_build_server_id_derivation_unique_constraint 2020-06-30T20:17:48Z Christopher Baines <mail@cbaines.net> # Allow multiple builds of the same derivation per build server derivation_output_details_sets_derivation_output_details_ids_index 2020-07-04T07:56:49Z Christopher Baines <mail@cbaines.net> # Add GIN index on derivation_output_details_ids add-tsvectors-per-locale 2020-07-16T18:19:44Z daniela <daniela@linux-ijv5> # Add tsvectors per locale +change_package_descriptions_index 2020-08-23T11:56:00Z Christopher Baines <mail@cbaines.net> # Change the package_descriptions index diff --git a/sqitch/verify/change_package_descriptions_index.sql b/sqitch/verify/change_package_descriptions_index.sql new file mode 100644 index 0000000..3b6ec55 --- /dev/null +++ b/sqitch/verify/change_package_descriptions_index.sql @@ -0,0 +1,7 @@ +-- Verify guix-data-service:change_package_descriptions_index on pg + +BEGIN; + +-- XXX Add verifications here. + +ROLLBACK; |