public inbox for [email protected]
help / color / mirror / Atom feedFrom: Adrian Klaver <[email protected]>
To: H <[email protected]>
To: [email protected]
Subject: Re: Running psql in a docker container
Date: Thu, 11 Jul 2024 12:31:37 -0700
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
On 7/11/24 11:14, H wrote:
> On July 11, 2024 11:06:02 AM GMT-04:00, Adrian Klaver <[email protected]> wrote:
>> On 7/11/24 07:57, H wrote:
>>> I used to successfully run psql server 13 in a CentOS 7 docker
>> container with CentOS 7 as the host operating system. I have now
>> upgraded that system to Rocky Linux 9 as the host operating system and
>> modifying my container to also use Rocky Linux 9 and psql server 16.
>>>
>>> I can successfully get the container up and running and can connect
>> to it. However, I have not managed to modify the initdb statement to
>> use en_US.UTF-8 for all databases.
>>>
>>> In the old container I used:
>>>
>>> su - postgres -c "/usr/pgsql-13/bin/initdb -D /var/lib/pgsql/13/data/
>> -E 'UTF-8' --lc-collate='en_US.UTF-8' --lc-ctype='en_US.UTF-8'"
>>>
>>> but this does not work with psql 16. I tried:
>>>
>>> su - postgres -c "/usr/pgsql-16/bin/initdb -D /var/lib/pgsql/16/data/
>> -E 'UTF-8' --lc-lang='en_US'"
1) Per:
https://www.postgresql.org/docs/16/app-initdb.html
lc_lang does not exist and I get:
/usr/lib/postgresql/16/bin/initdb: unrecognized option '--lc-lang=en_US'
2) On Ubuntu 22.04 doing:
/usr/lib/postgresql/16/bin/initdb -D postgres/16/data/ -E 'UTF-8'
--lc-collate='en_US.utf8' --lc-ctype='en_US.utf8'
I get:
postgres=# \l
List of databases
-[ RECORD 1 ]-----+--------------------
Name | postgres
Owner | aklaver
Encoding | UTF8
Locale Provider | libc
Collate | en_US.utf8
Ctype | en_US.utf8
ICU Locale |
ICU Rules |
Access privileges |
-[ RECORD 2 ]-----+--------------------
Name | template0
Owner | aklaver
Encoding | UTF8
Locale Provider | libc
Collate | en_US.utf8
Ctype | en_US.utf8
ICU Locale |
ICU Rules |
Access privileges | =c/aklaver +
| aklaver=CTc/aklaver
-[ RECORD 3 ]-----+--------------------
Name | template1
Owner | aklaver
Encoding | UTF8
Locale Provider | libc
Collate | en_US.utf8
Ctype | en_US.utf8
ICU Locale |
ICU Rules |
Access privileges | =c/aklaver +
| aklaver=CTc/aklaver
3) What does locale -a return on your machine?
>>>
>>> and variations thereof with no success.
>>
>> Without a definition of what '... no success' means there is no real
>> way
>> to answer this.
>>
>>>
>>> Any suggestions on what I have missed?
>>>
>>> Thank you.
>>>
>>>
>
> Good question! ”No success” meant that I have not been able to figure out how to have new databases default to en_US.UTF-8, instead they default to C.UTF-8.
>
> What is the proper syntax for pgsql 16 for this? I could not get the example given in the docs to work...
--
Adrian Klaver
[email protected]
view thread (4+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: Running psql in a docker container
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox