OCC installer claims that password to PostgreSQL is not supplied. It is, though

Hello

I’m trying to install Nextcloud on Ubuntu with a PostgreSQL backend. Unfortunately occ is acting up.

Prior to installation I’ve done the following preparations:

$ sudo -u postgres psql -d template1
template1=# CREATE USER ncadmin WITH PASSWORD 'password' CREATEDB; 
template1=# CREATE DATABASE nextcloud_db OWNER ncadmin TEMPLATE template0 ENCODING 'UTF8';
template1=# GRANT CREATE ON SCHEMA public TO ncadmin;
template1=# \q

I’m doing a manual install so I’ve downloaded a tarball and uncompressed it in /var/www/nextcloud:

$ sudo -u www-data php occ maintenance:install --database ‘pgsql’ --database-host ‘/var/run/postgresql’ --database-name ‘nextcloud_db’ --database-user ‘ncadmin’ --database-pass='password' --admin-user='admin' --admin-pass='password' --data-dir ‘/mnt/ncdata/’

This provides the following error:

An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[08006] [7] connection to server at "localhost" (127.0.0.1), port 5432 failed: fe_sendauth: no password supplied in /var/www/nextcloud/lib/private/DB/Connection.php:139
Stack trace:
#0 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1519): OC\DB\Connection->connect()
#1 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Statement.php(73): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1016): Doctrine\DBAL\Statement->__construct()
#3 /var/www/nextcloud/lib/private/DB/Connection.php(238): Doctrine\DBAL\Connection->prepare()
#4 /var/www/nextcloud/lib/private/DB/ConnectionAdapter.php(56): OC\DB\Connection->prepare()
#5 /var/www/nextcloud/lib/private/legacy/OC_DB.php(55): OC\DB\ConnectionAdapter->prepare()
#6 /var/www/nextcloud/lib/private/legacy/OC_DB.php(128): OC_DB::prepare()
#7 /var/www/nextcloud/lib/private/legacy/OC_Util.php(753): OC_DB::executeAudited()
#8 /var/www/nextcloud/lib/private/legacy/OC_Util.php(733): OC_Util::checkDatabaseVersion()
#9 /var/www/nextcloud/lib/private/Console/Application.php(159): OC_Util::checkServer()
#10 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#11 /var/www/nextcloud/occ(11): require_once('...')
#12 {main}

Next OC\DB\Exceptions\DbalException: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[08006] [7] connection to server at "localhost" (127.0.0.1), port 5432 failed: fe_sendauth: no password supplied in /var/www/nextcloud/lib/private/DB/Exceptions/DbalException.php:72
Stack trace:
#0 /var/www/nextcloud/lib/private/DB/ConnectionAdapter.php(59): OC\DB\Exceptions\DbalException::wrap()
#1 /var/www/nextcloud/lib/private/legacy/OC_DB.php(55): OC\DB\ConnectionAdapter->prepare()
#2 /var/www/nextcloud/lib/private/legacy/OC_DB.php(128): OC_DB::prepare()
#3 /var/www/nextcloud/lib/private/legacy/OC_Util.php(753): OC_DB::executeAudited()
#4 /var/www/nextcloud/lib/private/legacy/OC_Util.php(733): OC_Util::checkDatabaseVersion()
#5 /var/www/nextcloud/lib/private/Console/Application.php(159): OC_Util::checkServer()
#6 /var/www/nextcloud/console.php(99): OC\Console\Application->loadCommands()
#7 /var/www/nextcloud/occ(11): require_once('...')
#8 {main}

I’ve tried both with and without the ‘--database-host’ option inspired by this. Made no difference.

Obviously I’ve changed all passwords before posting :slight_smile:

What’s the problem? I wouldn’t mind just using peer authentication in PostgreSQL but I couldn’t make occ accept that so I ended up setting a password to the ncadmin user in PostgreSQL.

I literally have no clue so I would appreciate any hints.

Thanks