From a17462f413098287b4b6d61054df9f8a382715f7 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Fri, 14 Dec 2018 08:59:12 -0500 Subject: [PATCH 1/1] LP 1730726: Add Release Notes for PostgreSQL 10 Support. Signed-off-by: Jason Stephenson Signed-off-by: Ben Shum --- .../Architecture/postgresql10.adoc | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/RELEASE_NOTES_NEXT/Architecture/postgresql10.adoc diff --git a/docs/RELEASE_NOTES_NEXT/Architecture/postgresql10.adoc b/docs/RELEASE_NOTES_NEXT/Architecture/postgresql10.adoc new file mode 100644 index 0000000000..a4f3d0663e --- /dev/null +++ b/docs/RELEASE_NOTES_NEXT/Architecture/postgresql10.adoc @@ -0,0 +1,34 @@ +Database Support for PostgreSQL 10 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The Evergreen database can now be built with PostgreSQL version 10. + +This update has implications for developers who write PgTap tests. In +versions of PostgreSQL prior to 10, one could write `\set ECHO` to +disable the echoing of commands as they were run. In PostgreSQL +version 10, using `\set` without a value is an error. One should now +write `\set ECHO none` in order to disable the echoing of commands. +This latter form works in all versions of PostgreSQL currently +supported by Evergreen. + +Database Upgrade +++++++++++++++++ +If you upgrade your database from a PostgreSQL version of 9.5, or +lower, to PostgreSQL versions 9.6 or 10, you will need to recreate 3 +indexes in additon to the normal database upgrade steps. The index +recreation is necessary because of changes to the PostgreSQL +`unaccent` extension module. + +The following snippet of SQL code will do the necessary steps: + +[source,sql] +------------------------------------------------------------------------ +DROP INDEX actor_usr_first_given_name_unaccent_idx; +DROP INDEX actor_usr_second_given_name_unaccent_idx; +DROP INDEX actor_usr_family_name_unaccent_idx; +CREATE INDEX actor_usr_first_given_name_unaccent_idx ON actor.usr + (evergreen.unaccent_and_squash(first_given_name)); +CREATE INDEX actor_usr_second_given_name_unaccent_idx ON actor.usr + (evergreen.unaccent_and_squash(second_given_name)); +CREATE INDEX actor_usr_family_name_unaccent_idx ON actor.usr + (evergreen.unaccent_and_squash(family_name)); +------------------------------------------------------------------------ -- 2.43.2