<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>43207</bug_id>
          
          <creation_ts>2022-07-12 09:14:20 +0300</creation_ts>
          <short_desc>Невозможно инициализировать кластер с локалью отличной от текущей системной</short_desc>
          <delta_ts>2023-03-20 10:04:05 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>postgresql14-server</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey">mail</reporter>
          <assigned_to name="Alexei Takaseev">taf</assigned_to>
          <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>crux</cc>
    
    <cc>ender</cc>
    
    <cc>grenka</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>qa_viy</cc>
    
    <cc>shaba</cc>
    
    <cc>taf</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>212595</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey">mail</who>
    <bug_when>2022-07-12 09:14:20 +0300</bug_when>
    <thetext>Оставляю системную локаль en_US.UTF-8, чтобы логи проще читать было, а ru_RU.UTF-8 только при создании кластера БД указываю.

 # locale
 LANG=en_US.UTF-8
 ...

 # /etc/rc.d/init.d/postgresql initdb --locale=ru_RU.UTF-8 | grep -E 
или
 # LANG=ru_RU.UTF-8 /etc/rc.d/init.d/postgresql initdb | grep -E &quot;(locale|encoding|search)&quot;

РЕЗУЛЬТАТ:

 The database cluster will be initialized with locale &quot;en_US.UTF-8&quot;.
 The default database encoding has accordingly been set to &quot;UTF8&quot;.
 The default text search configuration will be set to &quot;english&quot;.

ОЖИДАЕТСЯ:

 ... &quot;ru_RU.UTF-8&quot;.
 ... &quot;UTF8&quot;.
 ... &quot;russian&quot;.

ПРИЧИНА: в /etc/rc.d/init.d/postgresql алгоритмом не заложена возможность указания локали для инициализации кластера БД:

 118 locale_list=&quot;$(su -l postgres -s /bin/sh -c &apos;/usr/bin/locale&apos;)&quot;
 119 locale=&quot;$(echo $locale_list | tr &apos; &apos; &apos;\n&apos; | grep LANG | cut -d &apos;=&apos; -f2 )&quot;
 120 echo &quot;Creating default database:&quot;
 121 su -s /bin/sh -l postgres -c &quot;initdb  --pgdata=\&quot;$PGDATA\&quot; --locale=\&quot;$locale\&quot; &quot;

КОСТЫЛЬ ДЛЯ ОБХОДА ОГРАНИЧЕНИЯ:
Создать /var/lib/pgsql/.profile со строками:

 LANG=ru_RU.UTF-8
 export LANG

Но тогда и выхлоп скрипта будет на русском, а этого не хочется.
Желательна возможность явно задать локаль с которой нужно инициализировать кластер, а если её явно не указали тогда пусть получает LANG у postgres.

Аналогичная ситуация в: 
postgresql14-1C-server
postgresql13-server
postgresql12-server
postgresql11-server
postgresql10-server
postgresql9.6-server

PS: и у PostgresPro в сборках для 1С так же.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223030</commentid>
    <comment_count>1</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-03-20 10:04:05 +0300</bug_when>
    <thetext>postgresql15-1C-15.2-alt2 -&gt; sisyphus:

 Fri Mar 03 2023 Alexei Takaseev &lt;taf@altlinux&gt; 15.2-alt2
 - Cleanup postgresql.service (ALT #44917)
 - Set database locale different from system (ALT #43207)
 - Add /etc/sysconfig/postgresql with staring and initializating environment
 - Initialization databases with secure connection methods
 - Mandatory set password for superuser postgres</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>