Re: Running psql in a docker container
| От | Adrian Klaver |
|---|---|
| Тема | Re: Running psql in a docker container |
| Дата | |
| Msg-id | 1b395ea3-6577-416a-b3d5-c384da7cf226@aklaver.com обсуждение исходный текст |
| Ответ на | Re: Running psql in a docker container (H <agents@meddatainc.com>) |
| Ответы |
Re: Running psql in a docker container
|
| Список | pgsql-general |
On 7/11/24 11:14, H wrote: > On July 11, 2024 11:06:02 AM GMT-04:00, Adrian Klaver <adrian.klaver@aklaver.com> 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 adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: