2026-01-07 10:48:57.171 CST [10] LOG: starting PostgreSQL 17.6 (Debian 17.6-2.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
2026-01-07 10:48:57.171 CST [10] LOG: listening on IPv4 address “0.0.0.0”, port 5432
2026-01-07 10:48:57.171 CST [10] LOG: listening on IPv6 address “::”, port 5432
2026-01-07 10:48:57.199 CST [10] LOG: listening on Unix socket “/var/run/postgresql/.s.PGSQL.5432”
2026-01-07 10:48:57.261 CST [33] LOG: database system was interrupted; last known up at 2026-01-07 10:41:09 CST
wait-for-it: waiting 120 seconds for 127.0.0.1:5432
2026-01-07 10:48:58.209 CST [45] LOG: incomplete startup packet
wait-for-it: 127.0.0.1:5432 is available after 0 seconds
PostgreSQL started.
Redis starting…
wait-for-it: waiting 60 seconds for 127.0.0.1:6379
wait-for-it: 127.0.0.1:6379 is available after 0 seconds
Redis started.
MaxKB starting…
2026-01-07 10:49:06.411 CST [75] FATAL: the database system is starting up
ERROR:root:Perform migrate failed, exit
Traceback (most recent call last):
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 279, in ensure_connection
self.connect()
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 256, in connect
self.connection = self.get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/backends/postgresql/mixins.py”, line 18, in get_new_connection
connection = super().get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 106, in get_new_connection
conn = db_pool.connect()
^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 447, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 711, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/impl.py”, line 177, in _do_get
with util.safe_reraise():
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 224, in exit
raise exc_value.with_traceback(exc_tb)
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/impl.py”, line 175, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 388, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 673, in init
self.__connect()
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 899, in __connect
with util.safe_reraise():
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 224, in exit
raise exc_value.with_traceback(exc_tb)
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 895, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 360, in
return lambda rec: creator_fn()
^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 90, in
lambda: self._get_new_connection(conn_params),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 45, in _get_new_connection
return super().get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/postgresql/base.py”, line 332, in get_new_connection
connection = self.Database.connect(**conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/psycopg/connection.py”, line 118, in connect
raise last_ex.with_traceback(None)
psycopg.OperationalError: connection failed: connection to server at “127.0.0.1”, port 5432 failed: FATAL: the database system is starting up
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/opt/maxkb-app/main.py”, line 39, in perform_db_migrate
management.call_command(‘migrate’)
File “/opt/py3/lib/python3.11/site-packages/django/core/management/init.py”, line 194, in call_command
return command.execute(*args, **defaults)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/core/management/base.py”, line 460, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/core/management/base.py”, line 107, in wrapper
res = handle_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/core/management/commands/migrate.py”, line 114, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/migrations/executor.py”, line 18, in init
self.loader = MigrationLoader(self.connection)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/migrations/loader.py”, line 58, in init
self.build_graph()
File “/opt/py3/lib/python3.11/site-packages/django/db/migrations/loader.py”, line 235, in build_graph
self.applied_migrations = recorder.applied_migrations()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/migrations/recorder.py”, line 89, in applied_migrations
if self.has_table():
^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/migrations/recorder.py”, line 63, in has_table
with self.connection.cursor() as cursor:
^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 320, in cursor
return self._cursor()
^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 296, in _cursor
self.ensure_connection()
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 278, in ensure_connection
with self.wrap_database_errors:
File “/opt/py3/lib/python3.11/site-packages/django/db/utils.py”, line 91, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 279, in ensure_connection
self.connect()
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/base/base.py”, line 256, in connect
self.connection = self.get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/backends/postgresql/mixins.py”, line 18, in get_new_connection
connection = super().get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 106, in get_new_connection
conn = db_pool.connect()
^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 447, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 711, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/impl.py”, line 177, in _do_get
with util.safe_reraise():
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 224, in exit
raise exc_value.with_traceback(exc_tb)
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/impl.py”, line 175, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 388, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 673, in init
self.__connect()
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 899, in __connect
with util.safe_reraise():
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 224, in exit
raise exc_value.with_traceback(exc_tb)
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 895, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 360, in
return lambda rec: creator_fn()
^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 90, in
lambda: self._get_new_connection(conn_params),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/dj_db_conn_pool/core/mixins/core.py”, line 45, in _get_new_connection
return super().get_new_connection(conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/utils/asyncio.py”, line 26, in inner
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/django/db/backends/postgresql/base.py”, line 332, in get_new_connection
connection = self.Database.connect(**conn_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/py3/lib/python3.11/site-packages/psycopg/connection.py”, line 118, in connect
raise last_ex.with_traceback(None)
django.db.utils.OperationalError: connection failed: connection to server at “127.0.0.1”, port 5432 failed: FATAL: the database system is starting up
wait-for-it: waiting 180 seconds for 127.0.0.1:8080
2026-01-07 10:49:15.085 CST [33] LOG: syncing data directory (fsync), elapsed time: 10.00 s, current path: ./base/16385/17606
2026-01-07 10:49:16.581 CST [33] LOG: database system was not properly shut down; automatic recovery in progress
2026-01-07 10:49:16.627 CST [33] LOG: redo starts at 0/8580D70
2026-01-07 10:49:16.628 CST [33] LOG: invalid record length at 0/8580DA8: expected at least 24, got 0
2026-01-07 10:49:16.628 CST [33] LOG: redo done at 0/8580D70 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
2026-01-07 10:49:16.692 CST [31] LOG: checkpoint starting: end-of-recovery immediate wait
2026-01-07 10:49:16.816 CST [31] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.054 s, sync=0.008 s, total=0.140 s; sync files=2, longest=0.004 s, average=0.004 s; distance=0 kB, estimate=0 kB; lsn=0/8580DA8, redo lsn=0/8580DA8
2026-01-07 10:49:16.840 CST [10] LOG: database system is ready to accept connections