diff mbox series

[1/2] package/postgresql/postgresql.service: set locale for initdb to C

Message ID 20231010164554.2954023-1-adam.duskett@amarulasolutions.com
State Changes Requested
Headers show
Series [1/2] package/postgresql/postgresql.service: set locale for initdb to C | expand

Commit Message

Adam Duskett Oct. 10, 2023, 4:45 p.m. UTC
From: Peter Seiderer <ps.report@gmx.net>

From this patch from Sept. 20, 2020, postgresql.service is still broken on
startup:

Postgresql systemd startup fails with:

  Starting PostgreSQL database server...
  [FAILED] Failed to start PostgreSQL database server.
  See 'systemctl status postgresql.service' for details.

  $ systemctl status postgresql.service | cat
  ● postgresql.service - PostgreSQL database server
       Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Sat 2020-09-12 12:16:35 UTC; 35s ago
      Process: 164 ExecStartPre=/bin/sh -c if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql; fi (code=exited, status=1/FAILURE)

  Sep 12 12:16:35 buildroot systemd[1]: Starting PostgreSQL database server...
  Sep 12 12:16:35 buildroot postgres[166]: The files belonging to this database system will be owned by user "postgres".
  Sep 12 12:16:35 buildroot postgres[166]: This user must also own the server process.
  Sep 12 12:16:35 buildroot postgres[166]: initdb: error: invalid locale settings; check LANG and LC_* environment variables
  Sep 12 12:16:35 buildroot systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
  Sep 12 12:16:35 buildroot postgres[164]: pg_ctl: database system initialization failed
  Sep 12 12:16:35 buildroot systemd[1]: postgresql.service: Failed with result 'exit-code'.
  Sep 12 12:16:35 buildroot systemd[1]: Failed to start PostgreSQL database server.

Fix it by setting a sane/always available locale=C in the startup files.

A similare failure/fix was reported by Pascal de Bruijn ([1]), but with
en_US.UTF-8 instead of C.

[1] http://lists.busybox.net/pipermail/buildroot/2019-November/266700.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 package/postgresql/postgresql.service | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Maxim Kochetkov Oct. 10, 2023, 5:02 p.m. UTC | #1
On 10.10.2023 19:45, Adam Duskett wrote:
> From: Peter Seiderer <ps.report@gmx.net>
> 
>  From this patch from Sept. 20, 2020, postgresql.service is still broken on
> startup:
> 
> Postgresql systemd startup fails with:

> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>

Reviewed-by: Maxim Kochetkov <fido_max@inbox.ru>
Thomas Petazzoni Nov. 1, 2023, 4:37 p.m. UTC | #2
On Tue, 10 Oct 2023 18:45:53 +0200
Adam Duskett <adam.duskett@amarulasolutions.com> wrote:

> From: Peter Seiderer <ps.report@gmx.net>
> 
> From this patch from Sept. 20, 2020, postgresql.service is still broken on
> startup:

Which "this patch" ?

Thomas
diff mbox series

Patch

diff --git a/package/postgresql/postgresql.service b/package/postgresql/postgresql.service
index 539eea8964..245375b77d 100644
--- a/package/postgresql/postgresql.service
+++ b/package/postgresql/postgresql.service
@@ -16,7 +16,7 @@  StandardOutput=syslog
 StandardError=syslog
 SyslogIdentifier=postgres
 
-ExecStartPre=/bin/sh -c "if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql; fi"
+ExecStartPre=/bin/sh -c "if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql -o --locale=C; fi"
 ExecStart=/usr/bin/postgres -D /var/lib/pgsql
 ExecReload=/usr/bin/kill -HUP $MAINPID
 KillMode=mixed