Re: Missing rows with index scan when collation is not "C" (PostgreSQL 9.5) - Mailing list pgsql-bugs
From | Stephen Frost |
---|---|
Subject | Re: Missing rows with index scan when collation is not "C" (PostgreSQL 9.5) |
Date | |
Msg-id | 20160323013011.GL3127@tamriel.snowman.net Whole thread Raw |
In response to | Re: Missing rows with index scan when collation is not "C" (PostgreSQL 9.5) (Tom Lane <tgl@sss.pgh.pa.us>) |
List | pgsql-bugs |
* Tom Lane (tgl@sss.pgh.pa.us) wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > I was a little worried that it was too much to hope for that all libc > > vendors on earth would ship a strxfrm() implementation that was actually > > consistent with strcoll(), and here we are. >=20 > Indeed. To try to put some scope on the problem, I made an idiot little > program that just generates some random UTF8 strings and sees whether > strcoll and strxfrm sort them alike. Attached are that program, a even > more idiot little shell script that runs it over all available UTF8 > locales, and the results on my RHEL6 box. While de_DE seems to be the > worst-broken locale, it's far from the only one. >=20 > Please try this on as many platforms as you can get hold of ... I found the 'all' button on Debian 8.3: sfrost@mahout:~$ sh tryalllocales.sh=20 Using LC_COLLATE =3D "aa_DJ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" aa_DJ.utf8 good Using LC_COLLATE =3D "aa_ER.utf8" Using LC_CTYPE =3D "en_US.UTF-8" aa_ER.utf8 good Using LC_COLLATE =3D "aa_ER.utf8@saaho" Using LC_CTYPE =3D "en_US.UTF-8" aa_ER.utf8@saaho good Using LC_COLLATE =3D "aa_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" aa_ET.utf8 good Using LC_COLLATE =3D "af_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" af_ZA.utf8 good Using LC_COLLATE =3D "ak_GH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ak_GH.utf8 good Using LC_COLLATE =3D "am_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" am_ET.utf8 good Using LC_COLLATE =3D "an_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" an_ES.utf8 good Using LC_COLLATE =3D "anp_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" anp_IN.utf8 good Using LC_COLLATE =3D "ar_AE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_AE.utf8 good Using LC_COLLATE =3D "ar_BH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_BH.utf8 good Using LC_COLLATE =3D "ar_DZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_DZ.utf8 good Using LC_COLLATE =3D "ar_EG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_EG.utf8 good Using LC_COLLATE =3D "ar_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_IN.utf8 good Using LC_COLLATE =3D "ar_IQ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_IQ.utf8 good Using LC_COLLATE =3D "ar_JO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_JO.utf8 good Using LC_COLLATE =3D "ar_KW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_KW.utf8 good Using LC_COLLATE =3D "ar_LB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_LB.utf8 good Using LC_COLLATE =3D "ar_LY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_LY.utf8 good Using LC_COLLATE =3D "ar_MA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_MA.utf8 good Using LC_COLLATE =3D "ar_OM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_OM.utf8 good Using LC_COLLATE =3D "ar_QA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_QA.utf8 good Using LC_COLLATE =3D "ar_SA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_SA.utf8 good Using LC_COLLATE =3D "ar_SD.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_SD.utf8 good Using LC_COLLATE =3D "ar_SS.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_SS.utf8 good Using LC_COLLATE =3D "ar_SY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_SY.utf8 good Using LC_COLLATE =3D "ar_TN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_TN.utf8 good Using LC_COLLATE =3D "ar_YE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ar_YE.utf8 good Using LC_COLLATE =3D "as_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" as_IN.utf8 good Using LC_COLLATE =3D "ast_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ast_ES.utf8 good Using LC_COLLATE =3D "ayc_PE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ayc_PE.utf8 good Using LC_COLLATE =3D "az_AZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" az_AZ.utf8 good Using LC_COLLATE =3D "be_BY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" be_BY.utf8 good Using LC_COLLATE =3D "be_BY.utf8@latin" Using LC_CTYPE =3D "en_US.UTF-8" be_BY.utf8@latin good Using LC_COLLATE =3D "bem_ZM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bem_ZM.utf8 good Using LC_COLLATE =3D "ber_DZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ber_DZ.utf8 good Using LC_COLLATE =3D "ber_MA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ber_MA.utf8 good Using LC_COLLATE =3D "bg_BG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bg_BG.utf8 good Using LC_COLLATE =3D "bho_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bho_IN.utf8 good Using LC_COLLATE =3D "bn_BD.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bn_BD.utf8 good Using LC_COLLATE =3D "bn_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bn_IN.utf8 good Using LC_COLLATE =3D "bo_CN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bo_CN.utf8 good Using LC_COLLATE =3D "bo_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bo_IN.utf8 good Using LC_COLLATE =3D "br_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" br_FR.utf8 good Using LC_COLLATE =3D "brx_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" brx_IN.utf8 good Using LC_COLLATE =3D "bs_BA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" bs_BA.utf8 good Using LC_COLLATE =3D "byn_ER.utf8" Using LC_CTYPE =3D "en_US.UTF-8" byn_ER.utf8 good Using LC_COLLATE =3D "ca_AD.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ca_AD.utf8 good Using LC_COLLATE =3D "ca_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ca_ES.utf8 good Using LC_COLLATE =3D "ca_ES.utf8@valencia" Using LC_CTYPE =3D "en_US.UTF-8" ca_ES.utf8@valencia good Using LC_COLLATE =3D "ca_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ca_FR.utf8 good Using LC_COLLATE =3D "ca_IT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ca_IT.utf8 good Using LC_COLLATE =3D "cmn_TW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" cmn_TW.utf8 good Using LC_COLLATE =3D "crh_UA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" crh_UA.utf8 good Using LC_COLLATE =3D "csb_PL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" csb_PL.utf8 good Using LC_COLLATE =3D "cs_CZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" cs_CZ.utf8 good Using LC_COLLATE =3D "C.UTF-8" Using LC_CTYPE =3D "en_US.UTF-8" C.UTF-8 good Using LC_COLLATE =3D "cv_RU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" cv_RU.utf8 good Using LC_COLLATE =3D "cy_GB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" cy_GB.utf8 good Using LC_COLLATE =3D "da_DK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" da_DK.utf8 good Using LC_COLLATE =3D "de_AT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" de_AT.utf8 good Using LC_COLLATE =3D "de_BE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" de_BE.utf8 good Using LC_COLLATE =3D "de_CH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" de_CH.utf8 good Using LC_COLLATE =3D "de_DE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" inconsistency between strcoll (72) and strxfrm (71) orders inconsistency between strcoll (71) and strxfrm (72) orders inconsistency between strcoll (136) and strxfrm (135) orders inconsistency between strcoll (135) and strxfrm (136) orders inconsistency between strcoll (135) and strxfrm (136) orders inconsistency between strcoll (139) and strxfrm (137) orders inconsistency between strcoll (140) and strxfrm (138) orders inconsistency between strcoll (137) and strxfrm (139) orders inconsistency between strcoll (138) and strxfrm (140) orders inconsistency between strcoll (149) and strxfrm (148) orders inconsistency between strcoll (148) and strxfrm (149) orders inconsistency between strcoll (254) and strxfrm (252) orders inconsistency between strcoll (252) and strxfrm (253) orders inconsistency between strcoll (253) and strxfrm (254) orders inconsistency between strcoll (274) and strxfrm (273) orders inconsistency between strcoll (275) and strxfrm (274) orders inconsistency between strcoll (273) and strxfrm (275) orders inconsistency between strcoll (339) and strxfrm (338) orders inconsistency between strcoll (338) and strxfrm (339) orders inconsistency between strcoll (338) and strxfrm (339) orders inconsistency between strcoll (390) and strxfrm (388) orders inconsistency between strcoll (388) and strxfrm (389) orders inconsistency between strcoll (389) and strxfrm (390) orders inconsistency between strcoll (411) and strxfrm (410) orders inconsistency between strcoll (410) and strxfrm (411) orders inconsistency between strcoll (449) and strxfrm (448) orders inconsistency between strcoll (448) and strxfrm (449) orders inconsistency between strcoll (454) and strxfrm (453) orders inconsistency between strcoll (453) and strxfrm (454) orders inconsistency between strcoll (529) and strxfrm (528) orders inconsistency between strcoll (528) and strxfrm (529) orders inconsistency between strcoll (543) and strxfrm (542) orders inconsistency between strcoll (544) and strxfrm (543) orders inconsistency between strcoll (542) and strxfrm (544) orders inconsistency between strcoll (542) and strxfrm (544) orders inconsistency between strcoll (567) and strxfrm (566) orders inconsistency between strcoll (566) and strxfrm (567) orders inconsistency between strcoll (589) and strxfrm (588) orders inconsistency between strcoll (588) and strxfrm (589) orders inconsistency between strcoll (592) and strxfrm (591) orders inconsistency between strcoll (591) and strxfrm (592) orders inconsistency between strcoll (594) and strxfrm (593) orders inconsistency between strcoll (593) and strxfrm (594) orders inconsistency between strcoll (597) and strxfrm (595) orders inconsistency between strcoll (595) and strxfrm (596) orders inconsistency between strcoll (596) and strxfrm (597) orders inconsistency between strcoll (601) and strxfrm (600) orders inconsistency between strcoll (600) and strxfrm (601) orders inconsistency between strcoll (726) and strxfrm (724) orders inconsistency between strcoll (724) and strxfrm (725) orders inconsistency between strcoll (725) and strxfrm (726) orders inconsistency between strcoll (743) and strxfrm (741) orders inconsistency between strcoll (741) and strxfrm (742) orders inconsistency between strcoll (741) and strxfrm (742) orders inconsistency between strcoll (744) and strxfrm (743) orders inconsistency between strcoll (742) and strxfrm (744) orders inconsistency between strcoll (765) and strxfrm (764) orders inconsistency between strcoll (764) and strxfrm (765) orders inconsistency between strcoll (786) and strxfrm (784) orders inconsistency between strcoll (784) and strxfrm (786) orders inconsistency between strcoll (896) and strxfrm (895) orders inconsistency between strcoll (895) and strxfrm (896) orders inconsistency between strcoll (941) and strxfrm (939) orders inconsistency between strcoll (942) and strxfrm (940) orders inconsistency between strcoll (943) and strxfrm (941) orders inconsistency between strcoll (939) and strxfrm (942) orders inconsistency between strcoll (940) and strxfrm (943) orders de_DE.utf8 BAD Using LC_COLLATE =3D "de_LI.utf8" Using LC_CTYPE =3D "en_US.UTF-8" de_LI.utf8 good Using LC_COLLATE =3D "de_LU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" de_LU.utf8 good Using LC_COLLATE =3D "doi_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" doi_IN.utf8 good Using LC_COLLATE =3D "dv_MV.utf8" Using LC_CTYPE =3D "en_US.UTF-8" dv_MV.utf8 good Using LC_COLLATE =3D "dz_BT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" dz_BT.utf8 good Using LC_COLLATE =3D "el_CY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" el_CY.utf8 good Using LC_COLLATE =3D "el_GR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" el_GR.utf8 good Using LC_COLLATE =3D "en_AG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_AG.utf8 good Using LC_COLLATE =3D "en_AU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_AU.utf8 good Using LC_COLLATE =3D "en_BW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_BW.utf8 good Using LC_COLLATE =3D "en_CA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_CA.utf8 good Using LC_COLLATE =3D "en_DK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_DK.utf8 good Using LC_COLLATE =3D "en_GB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_GB.utf8 good Using LC_COLLATE =3D "en_HK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_HK.utf8 good Using LC_COLLATE =3D "en_IE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_IE.utf8 good Using LC_COLLATE =3D "en_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_IN.utf8 good Using LC_COLLATE =3D "en_NG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_NG.utf8 good Using LC_COLLATE =3D "en_NZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_NZ.utf8 good Using LC_COLLATE =3D "en_PH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_PH.utf8 good Using LC_COLLATE =3D "en_SG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_SG.utf8 good Using LC_COLLATE =3D "en_US.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_US.utf8 good Using LC_COLLATE =3D "en_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_ZA.utf8 good Using LC_COLLATE =3D "en_ZM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_ZM.utf8 good Using LC_COLLATE =3D "en_ZW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" en_ZW.utf8 good Using LC_COLLATE =3D "eo.utf8" Using LC_CTYPE =3D "en_US.UTF-8" eo.utf8 good Using LC_COLLATE =3D "es_AR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_AR.utf8 good Using LC_COLLATE =3D "es_BO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_BO.utf8 good Using LC_COLLATE =3D "es_CL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_CL.utf8 good Using LC_COLLATE =3D "es_CO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_CO.utf8 good Using LC_COLLATE =3D "es_CR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_CR.utf8 good Using LC_COLLATE =3D "es_CU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_CU.utf8 good Using LC_COLLATE =3D "es_DO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_DO.utf8 good Using LC_COLLATE =3D "es_EC.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_EC.utf8 good Using LC_COLLATE =3D "es_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_ES.utf8 good Using LC_COLLATE =3D "es_GT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_GT.utf8 good Using LC_COLLATE =3D "es_HN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_HN.utf8 good Using LC_COLLATE =3D "es_MX.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_MX.utf8 good Using LC_COLLATE =3D "es_NI.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_NI.utf8 good Using LC_COLLATE =3D "es_PA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_PA.utf8 good Using LC_COLLATE =3D "es_PE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_PE.utf8 good Using LC_COLLATE =3D "es_PR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_PR.utf8 good Using LC_COLLATE =3D "es_PY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_PY.utf8 good Using LC_COLLATE =3D "es_SV.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_SV.utf8 good Using LC_COLLATE =3D "es_US.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_US.utf8 good Using LC_COLLATE =3D "es_UY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_UY.utf8 good Using LC_COLLATE =3D "es_VE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" es_VE.utf8 good Using LC_COLLATE =3D "et_EE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" et_EE.utf8 good Using LC_COLLATE =3D "eu_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" eu_ES.utf8 good Using LC_COLLATE =3D "eu_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" eu_FR.utf8 good Using LC_COLLATE =3D "fa_IR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fa_IR.utf8 good Using LC_COLLATE =3D "ff_SN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ff_SN.utf8 good Using LC_COLLATE =3D "fi_FI.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fi_FI.utf8 good Using LC_COLLATE =3D "fil_PH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fil_PH.utf8 good Using LC_COLLATE =3D "fo_FO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fo_FO.utf8 good Using LC_COLLATE =3D "fr_BE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fr_BE.utf8 good Using LC_COLLATE =3D "fr_CA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fr_CA.utf8 good Using LC_COLLATE =3D "fr_CH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fr_CH.utf8 good Using LC_COLLATE =3D "fr_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fr_FR.utf8 good Using LC_COLLATE =3D "fr_LU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fr_LU.utf8 good Using LC_COLLATE =3D "fur_IT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fur_IT.utf8 good Using LC_COLLATE =3D "fy_DE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fy_DE.utf8 good Using LC_COLLATE =3D "fy_NL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" fy_NL.utf8 good Using LC_COLLATE =3D "ga_IE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ga_IE.utf8 good Using LC_COLLATE =3D "gd_GB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gd_GB.utf8 good Using LC_COLLATE =3D "gez_ER.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gez_ER.utf8 good Using LC_COLLATE =3D "gez_ER.utf8@abegede" Using LC_CTYPE =3D "en_US.UTF-8" gez_ER.utf8@abegede good Using LC_COLLATE =3D "gez_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gez_ET.utf8 good Using LC_COLLATE =3D "gez_ET.utf8@abegede" Using LC_CTYPE =3D "en_US.UTF-8" gez_ET.utf8@abegede good Using LC_COLLATE =3D "gl_ES.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gl_ES.utf8 good Using LC_COLLATE =3D "gu_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gu_IN.utf8 good Using LC_COLLATE =3D "gv_GB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" gv_GB.utf8 good Using LC_COLLATE =3D "hak_TW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hak_TW.utf8 good Using LC_COLLATE =3D "ha_NG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ha_NG.utf8 good Using LC_COLLATE =3D "he_IL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" he_IL.utf8 good Using LC_COLLATE =3D "hi_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hi_IN.utf8 good Using LC_COLLATE =3D "hne_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hne_IN.utf8 good Using LC_COLLATE =3D "hr_HR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hr_HR.utf8 good Using LC_COLLATE =3D "hsb_DE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hsb_DE.utf8 good Using LC_COLLATE =3D "ht_HT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ht_HT.utf8 good Using LC_COLLATE =3D "hu_HU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hu_HU.utf8 good Using LC_COLLATE =3D "hy_AM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" hy_AM.utf8 good Using LC_COLLATE =3D "ia_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ia_FR.utf8 good Using LC_COLLATE =3D "id_ID.utf8" Using LC_CTYPE =3D "en_US.UTF-8" id_ID.utf8 good Using LC_COLLATE =3D "ig_NG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ig_NG.utf8 good Using LC_COLLATE =3D "ik_CA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ik_CA.utf8 good Using LC_COLLATE =3D "is_IS.utf8" Using LC_CTYPE =3D "en_US.UTF-8" is_IS.utf8 good Using LC_COLLATE =3D "it_CH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" it_CH.utf8 good Using LC_COLLATE =3D "it_IT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" it_IT.utf8 good Using LC_COLLATE =3D "iu_CA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" iu_CA.utf8 good Using LC_COLLATE =3D "iw_IL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" iw_IL.utf8 good Using LC_COLLATE =3D "ja_JP.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ja_JP.utf8 good Using LC_COLLATE =3D "ka_GE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ka_GE.utf8 good Using LC_COLLATE =3D "kk_KZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" kk_KZ.utf8 good Using LC_COLLATE =3D "kl_GL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" kl_GL.utf8 good Using LC_COLLATE =3D "km_KH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" km_KH.utf8 good Using LC_COLLATE =3D "kn_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" kn_IN.utf8 good Using LC_COLLATE =3D "kok_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" kok_IN.utf8 good Using LC_COLLATE =3D "ko_KR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ko_KR.utf8 good Using LC_COLLATE =3D "ks_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ks_IN.utf8 good Using LC_COLLATE =3D "ks_IN.utf8@devanagari" Using LC_CTYPE =3D "en_US.UTF-8" ks_IN.utf8@devanagari good Using LC_COLLATE =3D "ku_TR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ku_TR.utf8 good Using LC_COLLATE =3D "kw_GB.utf8" Using LC_CTYPE =3D "en_US.UTF-8" kw_GB.utf8 good Using LC_COLLATE =3D "ky_KG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ky_KG.utf8 good Using LC_COLLATE =3D "lb_LU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" inconsistency between strcoll (137) and strxfrm (136) orders inconsistency between strcoll (136) and strxfrm (137) orders inconsistency between strcoll (171) and strxfrm (170) orders inconsistency between strcoll (170) and strxfrm (171) orders inconsistency between strcoll (351) and strxfrm (350) orders inconsistency between strcoll (350) and strxfrm (351) orders inconsistency between strcoll (350) and strxfrm (351) orders inconsistency between strcoll (356) and strxfrm (353) orders inconsistency between strcoll (353) and strxfrm (354) orders inconsistency between strcoll (354) and strxfrm (355) orders inconsistency between strcoll (355) and strxfrm (356) orders inconsistency between strcoll (465) and strxfrm (464) orders inconsistency between strcoll (464) and strxfrm (465) orders inconsistency between strcoll (467) and strxfrm (466) orders inconsistency between strcoll (466) and strxfrm (467) orders inconsistency between strcoll (470) and strxfrm (469) orders inconsistency between strcoll (469) and strxfrm (470) orders inconsistency between strcoll (573) and strxfrm (572) orders inconsistency between strcoll (574) and strxfrm (573) orders inconsistency between strcoll (572) and strxfrm (574) orders inconsistency between strcoll (572) and strxfrm (574) orders inconsistency between strcoll (612) and strxfrm (611) orders inconsistency between strcoll (611) and strxfrm (612) orders inconsistency between strcoll (709) and strxfrm (708) orders inconsistency between strcoll (710) and strxfrm (709) orders inconsistency between strcoll (708) and strxfrm (710) orders inconsistency between strcoll (771) and strxfrm (770) orders inconsistency between strcoll (770) and strxfrm (771) orders inconsistency between strcoll (789) and strxfrm (787) orders inconsistency between strcoll (787) and strxfrm (788) orders inconsistency between strcoll (788) and strxfrm (789) orders inconsistency between strcoll (948) and strxfrm (947) orders inconsistency between strcoll (947) and strxfrm (948) orders lb_LU.utf8 BAD Using LC_COLLATE =3D "lg_UG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lg_UG.utf8 good Using LC_COLLATE =3D "li_BE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" li_BE.utf8 good Using LC_COLLATE =3D "lij_IT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lij_IT.utf8 good Using LC_COLLATE =3D "li_NL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" li_NL.utf8 good Using LC_COLLATE =3D "lo_LA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lo_LA.utf8 good Using LC_COLLATE =3D "lt_LT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lt_LT.utf8 good Using LC_COLLATE =3D "lv_LV.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lv_LV.utf8 good Using LC_COLLATE =3D "lzh_TW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" lzh_TW.utf8 good Using LC_COLLATE =3D "mag_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mag_IN.utf8 good Using LC_COLLATE =3D "mai_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mai_IN.utf8 good Using LC_COLLATE =3D "mg_MG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mg_MG.utf8 good Using LC_COLLATE =3D "mhr_RU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mhr_RU.utf8 good Using LC_COLLATE =3D "mi_NZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mi_NZ.utf8 good Using LC_COLLATE =3D "mk_MK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mk_MK.utf8 good Using LC_COLLATE =3D "ml_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ml_IN.utf8 good Using LC_COLLATE =3D "mni_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mni_IN.utf8 good Using LC_COLLATE =3D "mn_MN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mn_MN.utf8 good Using LC_COLLATE =3D "mr_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mr_IN.utf8 good Using LC_COLLATE =3D "ms_MY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ms_MY.utf8 good Using LC_COLLATE =3D "mt_MT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" mt_MT.utf8 good Using LC_COLLATE =3D "my_MM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" my_MM.utf8 good Using LC_COLLATE =3D "nan_TW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nan_TW.utf8 good Using LC_COLLATE =3D "nan_TW.utf8@latin" Using LC_CTYPE =3D "en_US.UTF-8" nan_TW.utf8@latin good Using LC_COLLATE =3D "nb_NO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nb_NO.utf8 good Using LC_COLLATE =3D "nds_DE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nds_DE.utf8 good Using LC_COLLATE =3D "nds_NL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nds_NL.utf8 good Using LC_COLLATE =3D "ne_NP.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ne_NP.utf8 good Using LC_COLLATE =3D "nhn_MX.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nhn_MX.utf8 good Using LC_COLLATE =3D "niu_NU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" niu_NU.utf8 good Using LC_COLLATE =3D "niu_NZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" niu_NZ.utf8 good Using LC_COLLATE =3D "nl_AW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nl_AW.utf8 good Using LC_COLLATE =3D "nl_BE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nl_BE.utf8 good Using LC_COLLATE =3D "nl_NL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nl_NL.utf8 good Using LC_COLLATE =3D "nn_NO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nn_NO.utf8 good Using LC_COLLATE =3D "nr_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nr_ZA.utf8 good Using LC_COLLATE =3D "nso_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" nso_ZA.utf8 good Using LC_COLLATE =3D "oc_FR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" oc_FR.utf8 good Using LC_COLLATE =3D "om_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" om_ET.utf8 good Using LC_COLLATE =3D "om_KE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" om_KE.utf8 good Using LC_COLLATE =3D "or_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" or_IN.utf8 good Using LC_COLLATE =3D "os_RU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" os_RU.utf8 good Using LC_COLLATE =3D "pa_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pa_IN.utf8 good Using LC_COLLATE =3D "pap_AN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pap_AN.utf8 good Using LC_COLLATE =3D "pap_AW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pap_AW.utf8 good Using LC_COLLATE =3D "pap_CW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pap_CW.utf8 good Using LC_COLLATE =3D "pa_PK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pa_PK.utf8 good Using LC_COLLATE =3D "pl_PL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pl_PL.utf8 good Using LC_COLLATE =3D "ps_AF.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ps_AF.utf8 good Using LC_COLLATE =3D "pt_BR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pt_BR.utf8 good Using LC_COLLATE =3D "pt_PT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" pt_PT.utf8 good Using LC_COLLATE =3D "quz_PE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" quz_PE.utf8 good Using LC_COLLATE =3D "ro_RO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ro_RO.utf8 good Using LC_COLLATE =3D "ru_RU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ru_RU.utf8 good Using LC_COLLATE =3D "ru_UA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ru_UA.utf8 good Using LC_COLLATE =3D "rw_RW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" rw_RW.utf8 good Using LC_COLLATE =3D "sa_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sa_IN.utf8 good Using LC_COLLATE =3D "sat_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sat_IN.utf8 good Using LC_COLLATE =3D "sc_IT.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sc_IT.utf8 good Using LC_COLLATE =3D "sd_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sd_IN.utf8 good Using LC_COLLATE =3D "sd_IN.utf8@devanagari" Using LC_CTYPE =3D "en_US.UTF-8" sd_IN.utf8@devanagari good Using LC_COLLATE =3D "se_NO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" se_NO.utf8 good Using LC_COLLATE =3D "shs_CA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" shs_CA.utf8 good Using LC_COLLATE =3D "sid_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sid_ET.utf8 good Using LC_COLLATE =3D "si_LK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" si_LK.utf8 good Using LC_COLLATE =3D "sk_SK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sk_SK.utf8 good Using LC_COLLATE =3D "sl_SI.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sl_SI.utf8 good Using LC_COLLATE =3D "so_DJ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" so_DJ.utf8 good Using LC_COLLATE =3D "so_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" so_ET.utf8 good Using LC_COLLATE =3D "so_KE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" so_KE.utf8 good Using LC_COLLATE =3D "so_SO.utf8" Using LC_CTYPE =3D "en_US.UTF-8" so_SO.utf8 good Using LC_COLLATE =3D "sq_AL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sq_AL.utf8 good Using LC_COLLATE =3D "sq_MK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sq_MK.utf8 good Using LC_COLLATE =3D "sr_ME.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sr_ME.utf8 good Using LC_COLLATE =3D "sr_RS.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sr_RS.utf8 good Using LC_COLLATE =3D "sr_RS.utf8@latin" Using LC_CTYPE =3D "en_US.UTF-8" sr_RS.utf8@latin good Using LC_COLLATE =3D "ss_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ss_ZA.utf8 good Using LC_COLLATE =3D "st_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" st_ZA.utf8 good Using LC_COLLATE =3D "sv_FI.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sv_FI.utf8 good Using LC_COLLATE =3D "sv_SE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sv_SE.utf8 good Using LC_COLLATE =3D "sw_KE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sw_KE.utf8 good Using LC_COLLATE =3D "sw_TZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" sw_TZ.utf8 good Using LC_COLLATE =3D "szl_PL.utf8" Using LC_CTYPE =3D "en_US.UTF-8" szl_PL.utf8 good Using LC_COLLATE =3D "ta_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ta_IN.utf8 good Using LC_COLLATE =3D "ta_LK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ta_LK.utf8 good Using LC_COLLATE =3D "te_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" te_IN.utf8 good Using LC_COLLATE =3D "tg_TJ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tg_TJ.utf8 good Using LC_COLLATE =3D "the_NP.utf8" Using LC_CTYPE =3D "en_US.UTF-8" the_NP.utf8 good Using LC_COLLATE =3D "th_TH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" th_TH.utf8 good Using LC_COLLATE =3D "ti_ER.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ti_ER.utf8 good Using LC_COLLATE =3D "ti_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ti_ET.utf8 good Using LC_COLLATE =3D "tig_ER.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tig_ER.utf8 good Using LC_COLLATE =3D "tk_TM.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tk_TM.utf8 good Using LC_COLLATE =3D "tl_PH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tl_PH.utf8 good Using LC_COLLATE =3D "tn_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tn_ZA.utf8 good Using LC_COLLATE =3D "tr_CY.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tr_CY.utf8 good Using LC_COLLATE =3D "tr_TR.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tr_TR.utf8 good Using LC_COLLATE =3D "ts_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ts_ZA.utf8 good Using LC_COLLATE =3D "tt_RU.utf8" Using LC_CTYPE =3D "en_US.UTF-8" tt_RU.utf8 good Using LC_COLLATE =3D "tt_RU.utf8@iqtelif" Using LC_CTYPE =3D "en_US.UTF-8" tt_RU.utf8@iqtelif good Using LC_COLLATE =3D "ug_CN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ug_CN.utf8 good Using LC_COLLATE =3D "uk_UA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" uk_UA.utf8 good Using LC_COLLATE =3D "unm_US.utf8" Using LC_CTYPE =3D "en_US.UTF-8" unm_US.utf8 good Using LC_COLLATE =3D "ur_IN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ur_IN.utf8 good Using LC_COLLATE =3D "ur_PK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ur_PK.utf8 good Using LC_COLLATE =3D "uz_UZ.utf8" Using LC_CTYPE =3D "en_US.UTF-8" uz_UZ.utf8 good Using LC_COLLATE =3D "uz_UZ.utf8@cyrillic" Using LC_CTYPE =3D "en_US.UTF-8" uz_UZ.utf8@cyrillic good Using LC_COLLATE =3D "ve_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" ve_ZA.utf8 good Using LC_COLLATE =3D "vi_VN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" vi_VN.utf8 good Using LC_COLLATE =3D "wa_BE.utf8" Using LC_CTYPE =3D "en_US.UTF-8" wa_BE.utf8 good Using LC_COLLATE =3D "wae_CH.utf8" Using LC_CTYPE =3D "en_US.UTF-8" wae_CH.utf8 good Using LC_COLLATE =3D "wal_ET.utf8" Using LC_CTYPE =3D "en_US.UTF-8" wal_ET.utf8 good Using LC_COLLATE =3D "wo_SN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" wo_SN.utf8 good Using LC_COLLATE =3D "xh_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" xh_ZA.utf8 good Using LC_COLLATE =3D "yi_US.utf8" Using LC_CTYPE =3D "en_US.UTF-8" yi_US.utf8 good Using LC_COLLATE =3D "yo_NG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" yo_NG.utf8 good Using LC_COLLATE =3D "yue_HK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" yue_HK.utf8 good Using LC_COLLATE =3D "zh_CN.utf8" Using LC_CTYPE =3D "en_US.UTF-8" zh_CN.utf8 good Using LC_COLLATE =3D "zh_HK.utf8" Using LC_CTYPE =3D "en_US.UTF-8" zh_HK.utf8 good Using LC_COLLATE =3D "zh_SG.utf8" Using LC_CTYPE =3D "en_US.UTF-8" zh_SG.utf8 good Using LC_COLLATE =3D "zh_TW.utf8" Using LC_CTYPE =3D "en_US.UTF-8" zh_TW.utf8 good Using LC_COLLATE =3D "zu_ZA.utf8" Using LC_CTYPE =3D "en_US.UTF-8" zu_ZA.utf8 good Thanks! Stephen
pgsql-bugs by date: