authentik
authentik copied to clipboard
Can't upgrade to newer versions, stuck at 2023.6 because of issue with postgresql version
Describe the bug Trying to upgrade to any newer version than 2023.6 returns me an error, attached in the following logs. The log says that the issue is postgresql's version, that a version of >12 is needed as it detects I have a 11.x version, but in fact I have 12.17 installed, as also attached in logs.
Expected behavior Work.
Logs Authentik server and working (same log):
(....)
INF | event=Task published logger=authentik.root.celery pid=29 task_id=795125434f5d4abca9453bbd2f3efb96 task_name=authentik.blueprints.v1.tasks.clear_failed_blueprints timestamp=2024-02-19T16:58:31.198884
ERR | event=Internal Server Error: /-/health/live/ exception=[{"exc_type":"NotSupportedError","exc_value":"PostgreSQL 12 or later is required (found 11.22).","frames":[{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/core/handlers/exception.py","line":"","lineno":55,"locals":{"exc":"NotSupportedError('PostgreSQL 12 or later is required (found 11.22).')","get_response":"<authentik.tenants.middleware.TenantMiddleware object at 0x7fa854188510>","request":"<ASGIRequest: GET '/-/health/live/'>"},"name":"inner"},{"filename":"/authentik/tenants/middleware.py","line":"","lineno":22,"locals":{"request":"<ASGIRequest: GET '/-/health/live/'>","self":"<authentik.tenants.middleware.TenantMiddleware object at 0x7fa854188510>"},"name":"__call__"},{"filename":"/authentik/tenants/utils.py","line":"","lineno":24,"locals":{"db_tenants":"<QuerySet [<Tenant: Default tenant>]>","request":"<ASGIRequest: GET '/-/health/live/'>"},"name":"get_tenant_for_request"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/models/query.py","line":"","lineno":398,"locals":{"self":"<QuerySet [<Tenant: Default tenant>]>"},"name":"__iter__"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/models/query.py","line":"","lineno":1881,"locals":{"self":"<QuerySet [<Tenant: Default tenant>]>"},"name":"_fetch_all"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/models/query.py","line":"","lineno":91,"locals":{"compiler":"\"<SQLCompiler model=Tenant connection=<DatabaseWrapper vendor='postgresql' alias=\"+27","db":"default","queryset":"<QuerySet [<Tenant: Default tenant>]>","self":"<django.db.models.query.ModelIterable object at 0x7fa854149a90>"},"name":"__iter__"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/models/sql/compiler.py","line":"","lineno":1560,"locals":{"chunk_size":"100","chunked_fetch":"False","params":"('localhost:8000', 'localhost:8000')","result_type":"multi","self":"\"<SQLCompiler model=Tenant connection=<DatabaseWrapper vendor='postgresql' alias=\"+27","sql":"'SELECT \"authentik_tenants_tenant\".\"tenant_uuid\", \"authentik_tenants_tenant\".\"dom'+916"},"name":"execute_sql"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/utils/asyncio.py","line":"","lineno":26,"locals":{"args":"(<DatabaseWrapper vendor='postgresql' alias='default'>,)","func":"<function BaseDatabaseWrapper.cursor at 0x7fa85d037ce0>","kwargs":"{}","message":"You cannot call this from an async context - use a thread or sync_to_async."},"name":"inner"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":330,"locals":{"self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"cursor"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":306,"locals":{"name":"None","self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"_cursor"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/utils/asyncio.py","line":"","lineno":26,"locals":{"args":"(<DatabaseWrapper vendor='postgresql' alias='default'>,)","func":"<function BaseDatabaseWrapper.ensure_connection at 0x7fa85d037880>","kwargs":"{}","message":"You cannot call this from an async context - use a thread or sync_to_async."},"name":"inner"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":289,"locals":{"self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"ensure_connection"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/utils/asyncio.py","line":"","lineno":26,"locals":{"args":"(<DatabaseWrapper vendor='postgresql' alias='default'>,)","func":"<function BaseDatabaseWrapper.connect at 0x7fa85d0376a0>","kwargs":"{}","message":"You cannot call this from an async context - use a thread or sync_to_async."},"name":"inner"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":272,"locals":{"conn_params":"\"{'dbname': 'authentik', 'client_encoding': 'UTF8', 'cursor_factory': <class 'dja\"+220","max_age":"0","self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"connect"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/postgresql/base.py","line":"","lineno":309,"locals":{"__class__":"<class 'django.db.backends.postgresql.base.DatabaseWrapper'>","self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"init_connection_state"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":239,"locals":{"self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"init_connection_state"},{"filename":"/ak-root/venv/lib/python3.11/site-packages/django/db/backends/base/base.py","line":"","lineno":214,"locals":{"db_version":"11.22","min_db_version":"12","self":"<DatabaseWrapper vendor='postgresql' alias='default'>"},"name":"check_database_version_supported"}],"is_cause":false,"syntax_error":null}] logger=django.request timestamp=1708361914.094172
INF | auth_via=unauthenticated event=/-/health/live/ host=localhost:8000 logger=authentik.asgi method=GET pid=30 remote=255.255.255.255 request_id=3f5b5faf7ad64c64bfde2818f5d7f001 runtime=139 scheme=http status=500 timestamp=2024-02-19T16:58:34.211032 user= user_agent=goauthentik.io/router/healthcheck
(...)
loop, and so on
Postgresql version:
postgres=# SELECT version();
version
--------------------------------------------------------------------------------------------------------------------
PostgreSQL 12.17 (Debian 12.17-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
(1 row)
Version and Deployment (please complete the following information):
- authentik version: any newer than 2023.6
- Deployment: docker compose with remote postgresql
** Additional Info ** Authentik works super fine with <2023.6 versions