Kurztipp: CentOS 7.4, PostgreSQL 9.2.23 und Spacewalk 2.7: Could not install database

Beim Installieren von Spacewalk 2.7 unter CentOS 7.4 mit PostgreSQL 9.2.23 bin ich neulich auf den folgenden Fehler gestoßen:

# spacewalk-setup
* Setting up SELinux..
** Database: Setting up database connection for PostgreSQL backend.
** Database: Installing the database:
** Database: This is a long process that is logged in:
** Database:   /var/log/rhn/install_db.log
*** Progress: ####
Could not install database.

Ein Blick in das erwähnte Protokoll brachte die folgenden Fehler zum Vorschein:

# less /var/log/rhn/install_db.log
...
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.
Hint: the preferred way to do this is now "postgresql-setup initdb"
Initializing database ... OK

/usr/bin/spacewalk-setup-postgresql: Line 165: [: 018446744073692774399: integer expression expected.
Redirecting to /bin/systemctl start postgresql.service
createdb: database creation failed: ERROR:  new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII)
HINT:  Use the same encoding as in the template database, or use template0 as template.

Besonders auffällig fand ich den Hinweis, das Kommando postgresql-setup auszuführen. Glücklicherweise habe ich einen Snapshot des Systems erstellt und konnte kurz „zurückspulen„, um den Hinweis auszuprobieren.

Schlussendlich war bei meinem System trotz korrekt gesetzter Spracheinstellungen der folgende Aufruf notwendig, um die PostgreSQL-Datenbank zu initialisieren:

# LANG=en_US.utf8 postgresql-setup initdb

Anschließend war die Installation von Spacewalk möglich – auch, wenn beim Erstellen der Datenbank ein leeres Terminal gestartet wurde. Nach dem Schließen des Programms fuhr die Installation fort:

# spacewalk-setup
* Setting up SELinux..
** Database: Setting up database connection for PostgreSQL backend.
** Database: Installing the database:
** Database: This is a long process that is logged in:
** Database:   /var/log/rhn/install_db.log
*** Progress: #
** Database: Installation complete.
** Database: Populating database.
...

Hierbei scheint es sich um einen Bug zu handeln, der Red Hat Enterprise Linux 7 und darauf basierende Ableger, wie beispielsweise CentOS 7, betrifft.

1 Kommentar Schreibe einen Kommentar

  1. Pingback: CentOS 7.4, Spacewalk 2.7 und Reposync | cstan.io

Schreibe einen Kommentar