File tree Expand file tree Collapse file tree 4 files changed +51
-1
lines changed
Expand file tree Collapse file tree 4 files changed +51
-1
lines changed Original file line number Diff line number Diff line change @@ -203,6 +203,20 @@ func (r *PGUpgradeReconciler) generateUpgradeJob(
203203 SecurityContext : database .SecurityContext ,
204204 VolumeMounts : volumeMounts , // K8SPG-254
205205
206+ // K8SPG-893
207+ Env : []corev1.EnvVar {
208+ // Critical for major upgrades to avoid lc_collate mismatches.
209+ // - https://www.postgresql.org/docs/current/locale.html
210+ {
211+ Name : "LC_ALL" ,
212+ Value : "en_US.utf-8" ,
213+ },
214+ {
215+ Name : "LANG" ,
216+ Value : "en_US.utf-8" ,
217+ },
218+ },
219+
206220 // Use our upgrade command and the specified image and resources.
207221 Command : upgradeCommand (
208222 upgrade .Spec .FromPostgresVersion ,
Original file line number Diff line number Diff line change @@ -203,6 +203,11 @@ spec:
203203 - upgrade
204204 - "19"
205205 - "25"
206+ env:
207+ - name: LC_ALL
208+ value: en_US.utf-8
209+ - name: LANG
210+ value: en_US.utf-8
206211 image: img4
207212 name: database
208213 resources:
Original file line number Diff line number Diff line change @@ -164,6 +164,21 @@ func Environment(cluster *v1beta1.PostgresCluster) []corev1.EnvVar {
164164 })
165165 }
166166
167+ if cluster .CompareVersion ("2.8.0" ) >= 0 {
168+ env = append (env , []corev1.EnvVar {
169+ // Critical for major upgrades to avoid lc_collate mismatches.
170+ // - https://www.postgresql.org/docs/current/locale.html
171+ {
172+ Name : "LC_ALL" ,
173+ Value : "en_US.utf-8" ,
174+ },
175+ {
176+ Name : "LANG" ,
177+ Value : "en_US.utf-8" ,
178+ },
179+ }... )
180+ }
181+
167182 return env
168183}
169184
Original file line number Diff line number Diff line change @@ -138,6 +138,10 @@ containers:
138138 value: /tmp
139139 - name: LDAPTLS_CACERT
140140 value: /etc/postgres/ldap/ca.crt
141+ - name: LC_ALL
142+ value: en_US.utf-8
143+ - name: LANG
144+ value: en_US.utf-8
141145 imagePullPolicy: Always
142146 name: database
143147 ports:
@@ -289,6 +293,10 @@ initContainers:
289293 value: /tmp
290294 - name: LDAPTLS_CACERT
291295 value: /etc/postgres/ldap/ca.crt
296+ - name: LC_ALL
297+ value: en_US.utf-8
298+ - name: LANG
299+ value: en_US.utf-8
292300 imagePullPolicy: Always
293301 name: postgres-startup
294302 resources:
@@ -713,7 +721,7 @@ func TestInstancePodAllowVolumeGrow(t *testing.T) {
713721 cluster .Spec .ImagePullPolicy = corev1 .PullAlways
714722 cluster .Spec .PostgresVersion = 11
715723 cluster .SetLabels (map [string ]string {
716- naming .LabelVersion : "2.7.0" ,
724+ naming .LabelVersion : version . Version () ,
717725 })
718726
719727 dataVolume := new (corev1.PersistentVolumeClaim )
@@ -781,6 +789,10 @@ containers:
781789 value: /tmp
782790 - name: LDAPTLS_CACERT
783791 value: /etc/postgres/ldap/ca.crt
792+ - name: LC_ALL
793+ value: en_US.utf-8
794+ - name: LANG
795+ value: en_US.utf-8
784796 imagePullPolicy: Always
785797 name: database
786798 ports:
@@ -946,6 +958,10 @@ initContainers:
946958 value: /tmp
947959 - name: LDAPTLS_CACERT
948960 value: /etc/postgres/ldap/ca.crt
961+ - name: LC_ALL
962+ value: en_US.utf-8
963+ - name: LANG
964+ value: en_US.utf-8
949965 imagePullPolicy: Always
950966 name: postgres-startup
951967 resources:
You can’t perform that action at this time.
0 commit comments