[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#916299: marked as done (nmu: postgresql-11_11.1-1)



Your message dated Fri, 11 Jan 2019 14:18:46 +0100
with message-id <20190111131846.GA21439@msg.df7cb.de>
and subject line Re: Bug#916299: postgresql-11: starts with error after upgrade from stretch to buster
has caused the Debian Bug report #916299,
regarding nmu: postgresql-11_11.1-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
916299: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916299
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: postgresql-11
Version: 11.1-1
Severity: important
User: debian-qa@lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts I noticed your package fails to upgrade from
'stretch'.
It installed fine in 'stretch', then the upgrade to 'buster' fails.

>From the attached log (scroll to the bottom...):

  Setting up postgresql-11 (11.1-1+b2) ...
  Creating new PostgreSQL cluster 11/main ...
  /usr/lib/postgresql/11/bin/initdb -D /var/lib/postgresql/11/main --auth-local peer --auth-host md5
  The files belonging to this database system will be owned by user "postgres".
  This user must also own the server process.
  
  The database cluster will be initialized with locale "C.UTF-8".
  The default database encoding has accordingly been set to "UTF8".
  The default text search configuration will be set to "english".
  
  Data page checksums are disabled.
  
  fixing permissions on existing directory /var/lib/postgresql/11/main ... ok
  creating subdirectories ... ok
  selecting default max_connections ... 100
  selecting default shared_buffers ... 128MB
  selecting dynamic shared memory implementation ... posix
  creating configuration files ... ok
  running bootstrap script ... ok
  performing post-bootstrap initialization ... ok
  syncing data to disk ... ok
  
  Success. You can now start the database server using:
  
      /usr/lib/postgresql/11/bin/pg_ctl -D /var/lib/postgresql/11/main -l logfile start
  
  Ver Cluster Port Status Owner    Data directory              Log file
  [ESC][31m11  main    5432 down   postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log[ESC][0m
  update-alternatives: using /usr/share/postgresql/11/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
  invoke-rc.d: could not determine current runlevel
  Starting PostgreSQL 11 database server: mainThe PostgreSQL server failed to start. Please check the log output: 2018-12-12 17:39:34.198 UTC [17806] LOG: listening on IPv6 address "::1", port 5432 2018-12-12 17:39:34.198 UTC [17806] LOG: listening on IPv4 address "127.0.0.1", port 5432 2018-12-12 17:39:34.198 UTC [17806] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2018-12-12 17:39:34.204 UTC [17833] LOG: database system was shut down at 2018-12-12 17:39:33 UTC 2018-12-12 17:39:34.207 UTC [17806] LOG: database system is ready to accept connections 2018-12-12 17:39:34.792 UTC [19057] [unknown]@[unknown] LOG: incomplete startup packet ... failed!
   failed!
  invoke-rc.d: initscript postgresql, action "start" failed.
  dpkg: error processing package postgresql-11 (--configure):
   subprocess installed post-installation script returned error exit status 1


To summarize what the piuparts test does (should do) for postgresql:

- start with a minimal stretch chroot, allow starting the postgresql service
- install postgresql
- switch apt sources to buster
- install postgresql/buster
*** it failed here to start the -11 server ***
therefore the following actions were not performed
- perform the pg_upgradecluster dance
- perform the --dist-upgrade

The intention of upgrading postgresql early is to ensure the service is running 
throughout the dist-upgrade for the tested packages to be able to perform
their database upgrades.
Packages that only recommend the postgresql package (because they could also 
work with a remote database server) get postgresql installed into the chroot
by piuparts before the actual test starts. During dist-upgrade there is no
dependency ensuring that postgresql is running  while the upgraded database
using package gets configured, so upgrading postgresql first avoids any downtime
during the dist-upgrade.

This scheme has been working quite well for some time already, but we are always
open for improvements.


If I enter the chroot directly after the failure, I find the following state:

# invoke-rc.d postgresql status
invoke-rc.d: could not determine current runlevel
9.6/main (port 5432): online
11/main (port 5433): online

# invoke-rc.d postgresql stop
invoke-rc.d: could not determine current runlevel
[ ok ] Stopping PostgreSQL 11 database server: main.
[ ok ] Stopping PostgreSQL 9.6 database server: main.

# invoke-rc.d postgresql start
invoke-rc.d: could not determine current runlevel
[....] Starting PostgreSQL 11 database server: main[....] The PostgreSQL server failed to start. Please check the log output: 2018-12-12 20:08:03.529 UTC [892] LOG: listening on IPv6 address "::1", port 5433 2018-12-12 20:08:03.529 UTC [892] LOG: listening on IPv4 address "127.0.0.1", port 5433 2018-12-12 20:08:03.529 UTC [892] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433" 2018-12-12 20:08:03.544 UTC [898] LOG: database system was shut down at 2018-12-12 20:07:51 UTC 2018-12-12 20:08:03.548 UTC [892] LOG: database system is ready to accept connections 2018-12-12 20:08:04.126 UTC [986] [unknown]@[unknown] LOG:[FAILmplete startup packet ... failed!
 failed!
[ ok ] Starting PostgreSQL 9.6 database server: main.
invoke-rc.d: initscript postgresql, action "start" failed.

# invoke-rc.d postgresql status
invoke-rc.d: could not determine current runlevel
9.6/main (port 5432): online
11/main (port 5433): online

# pg_lsclusters -h
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
11  main 5433 online postgres /var/lib/postgresql/11/main  /var/log/postgresql/postgresql-11-main.log

# invoke-rc.d postgresql stop
invoke-rc.d: could not determine current runlevel
[ ok ] Stopping PostgreSQL 11 database server: main.
[ ok ] Stopping PostgreSQL 9.6 database server: main.

# pg_lsclusters -h
9.6 main 5432 down postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
11  main 5433 down postgres /var/lib/postgresql/11/main  /var/log/postgresql/postgresql-11-main.log

# pg_ctlcluster 9.6 main start ; echo $?
0

# pg_ctlcluster 11 main start ; echo $?
The PostgreSQL server failed to start. Please check the log output:
2018-12-12 20:09:45.692 UTC [30034] LOG:  listening on IPv6 address "::1", port 5433
2018-12-12 20:09:45.692 UTC [30034] LOG:  listening on IPv4 address "127.0.0.1", port 5433
2018-12-12 20:09:45.693 UTC [30034] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5433"
2018-12-12 20:09:45.701 UTC [30035] LOG:  database system was shut down at 2018-12-12 20:09:17 UTC
2018-12-12 20:09:45.705 UTC [30034] LOG:  database system is ready to accept connections
2018-12-12 20:09:46.286 UTC [30224] [unknown]@[unknown] LOG:  incomplete startup packet
1

# pg_lsclusters -h
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
11  main 5433 online postgres /var/lib/postgresql/11/main  /var/log/postgresql/postgresql-11-main.log


So, despite of throwing "The PostgreSQL server failed to start." the server is running.



cheers,

Andreas

PS: I've never run a postgresql server in a production environment,
so I'm lacking all the details how to handle postgresql properly.

Attachment: postgresql_11+197.log.gz
Description: application/gzip


--- End Message ---
--- Begin Message ---
Re: Andreas Beckmann 2019-01-10 <7bfbe3a6-0764-fe24-77d3-06508c949e12@debian.org>
> > /usr/lib/postgresql/11/bin/psql: symbol lookup error: /usr/lib/postgresql/11/bin/psql: undefined symbol: append_history
> ...
> Thanks for the analysis, turning into a binNMU request.
> 
> nmu postgresql-11_11.1-1 . ANY . unstable . -m "Rebuild against libedit2 with fixed symbols file."

I just uploaded 11.1-2.

Christoph

--- End Message ---

Reply to: