problem with DB access rights for non-privileged user
I followed the instructions to set up the privileged seedpsd
and non-privileged wspsd
DB users like in the documentation, but when trying to make a test plot with the non-privileged user, it shows a DB access error. Creating the plot with switching to the privileged user's credentials in the .env
works.
$ seedpsd-cli psd histogram BW FFB1 "" HHZ 2025-01-04 2025-01-12
/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/obspy/core/util/base.py:26: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
2025-09-23 14:43:52 INFO Logging to: /home/sysop/logs/seedpsd/seedpsd_2025-09-23T14:43:52.733276.log
2025-09-23 14:43:53 ERROR Plot histogram failed
Traceback (most recent call last):
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, parameters)
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/psycopg/cursor.py", line 97, in execute
raise ex.with_traceback(None)
psycopg.errors.InsufficientPrivilege: permission denied for table alembic_version
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/sysop/git/seedpsd/seedpsd/cli/commands/psd.py", line 155, in plot_histogram
check_db(settings)
File "/home/sysop/git/seedpsd/seedpsd/cli/tools.py", line 30, in check_db
current = get_current_revision(alembic_cfg, engine, script)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/alembicverify/util.py", line 34, in get_current_revision
return _get_revision(config, engine, script)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/alembicverify/util.py", line 50, in _get_revision
revision = migration_context.get_current_revision()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/alembic/runtime/migration.py", line 489, in get_current_revision
heads = self.get_current_heads()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/alembic/runtime/migration.py", line 540, in get_current_heads
for row in self.connection.execute(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, parameters)
File "/home/sysop/miniforge3/envs/seedpsd/lib/python3.12/site-packages/psycopg/cursor.py", line 97, in execute
raise ex.with_traceback(None)
sqlalchemy.exc.ProgrammingError: (psycopg.errors.InsufficientPrivilege) permission denied for table alembic_version
[SQL: SELECT alembic_version.version_num
FROM alembic_version]
(Background on this error at: https://sqlalche.me/e/20/f405)