Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bewub-0006LW-IH for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Aug 2016 04:14:05 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bewub-0002g5-3S for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Aug 2016 04:14:05 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bewtC-000191-Oh for pgsql-hackers@postgresql.org; Wed, 31 Aug 2016 04:12:38 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bewtA-0003W4-2c for pgsql-hackers@postgresql.org; Wed, 31 Aug 2016 04:12:37 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 0C6F820483; Wed, 31 Aug 2016 00:12:35 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute2.internal (MEProxy); Wed, 31 Aug 2016 00:12:35 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=PIPMHJPQ0jjywbd mGfWerFcHOpw=; b=iv5PhADFUaL1xBo5a0MsAGyHnIPkOs79BzcVCdTZjk3nvRN kXTnqoJSdp2h5oqxBaaZ7BgJ2pqVytDmUuyHK9PLOG8iGF76CPMqdQmAArA1d/wI kQEEPQeq0mlnJIad1L1fTgRzTOg6hk5m4YagwKrULAbmrRIsyyB4ldKNGgt4= X-Sasl-enc: 3ATBPa/WMnvWFpGioBwGQ8xUeZFFg45W1gPZr6UpUFWk 1472616754 Received: from april.local (c-73-13-66-39.hsd1.pa.comcast.net [73.13.66.39]) by mail.messagingengine.com (Postfix) with ESMTPA id B75D5F29D3; Wed, 31 Aug 2016 00:12:34 -0400 (EDT) Subject: Re: ICU integration To: Craig Ringer References: <85364fde-091f-bbc0-fec2-e3ede39840a6@2ndquadrant.com> Cc: pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: Date: Wed, 31 Aug 2016 00:12:34 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 8/30/16 11:27 PM, Craig Ringer wrote: > Speaking of which, have you had a chance to try it on Windows yet? nope > How stable are the UCU locales? Most importantly, does ICU offer any > way to "pin" a locale version, so we can say "we want de_DE as it was > in ICU 4.6" and get consistent behaviour when the user sets up a > replica on some other system with ICU 4.8? Even if the German > government has changed its mind (again) about some details of the > language and 4.8 knows about the changes but 4.4 doesn't? I forgot to mention this, but the patch adds a collversion column that stores the collation version (provided by ICU). And then when you upgrade ICU to something incompatible you get + if (numversion != collform->collversion) + ereport(WARNING, + (errmsg("ICU collator version mismatch"), + errdetail("The database was created using version 0x%08X, the library provides version 0x%08X.", + (uint32) collform->collversion, (uint32) numversion), + errhint("Rebuild affected indexes, or build PostgreSQL with the right version of ICU."))); So you still need to manage this carefully, but at least you have a chance to learn about it. Suggestions for refining this are welcome. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers