Skip to content

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)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information