Bug description
The bug is that when trying to create a dataset from a table in examples database, in the add dataset view, the Table select control shows "No data" and Superset app logs go out of control showing an error on database query.
The steps to reproduce the error:
- Checkout to the master branch and run docker compose with the default configuration.
- Wait for the initialization to complete.
- Browse localhost in a browser and log in.
- Navigate to Datasets and click on "Add Dataset".
- Select Database "postgresql examples" and schema "public".
The expected result is to select a table to create a dataset in the Table selector, but appears to be empty.
Screenshots/recordings
Empty Table selector

Console logs

Superset version
master / latest-dev
Python version
3.11
Node version
17
Browser
Chrome
Additional context
superset_app | 2025-07-05 22:56:31,620:WARNING:root:Filter exception for SqlaTable.database with value postgresql-examples-1, will not apply
superset_app | 2025-07-05 22:56:31,622:ERROR:superset.views.error_handling:ApplyFilterException: DataError
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app |
superset_app | The above exception was the direct cause of the following exception:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 219, in apply
superset_app | rel_obj = self.datamodel.get_related_obj(self.column_name, value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 886, in get_related_obj
superset_app | return self.session.query(rel_model).get(value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_db | 2025-07-05 22:56:31.645 UTC [127] ERROR: invalid input syntax for type integer: "postgresql-examples-1" at character 1059
superset_app | File "", line 2, in get
superset_db | 2025-07-05 22:56:31.645 UTC [127] STATEMENT: SELECT dbs.uuid AS dbs_uuid, dbs.created_on AS dbs_created_on, dbs.changed_on AS dbs_changed_on, dbs.id AS dbs_id, dbs.verbose_name AS dbs_verbose_name, dbs.database_name AS dbs_database_name, dbs.sqlalchemy_uri AS dbs_sqlalchemy_uri, dbs.password AS dbs_password, dbs.cache_timeout AS dbs_cache_timeout, dbs.select_as_create_table_as AS dbs_select_as_create_table_as, dbs.expose_in_sqllab AS dbs_expose_in_sqllab, dbs.configuration_method AS dbs_configuration_method, dbs.allow_run_async AS dbs_allow_run_async, dbs.allow_file_upload AS dbs_allow_file_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_cvas AS dbs_allow_cvas, dbs.allow_dml AS dbs_allow_dml, dbs.force_ctas_schema AS dbs_force_ctas_schema, dbs.extra AS dbs_extra, dbs.encrypted_extra AS dbs_encrypted_extra, dbs.impersonate_user AS dbs_impersonate_user, dbs.server_cert AS dbs_server_cert, dbs.is_managed_externally AS dbs_is_managed_externally, dbs.external_url AS dbs_external_url, dbs.created_by_fk AS dbs_created_by_fk, dbs.changed_by_fk AS dbs_changed_by_fk
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
superset_db | FROM dbs
superset_app | return fn(args, kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 947, in get
superset_app | return self.get_impl(ident, loading.load_on_pk_identity)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_db | WHERE dbs.id = 'postgresql-examples-1'
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
superset_app | return self.session._get_impl(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
superset_app | return db_load_fn(
superset_app | ^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
superset_app | session.execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
superset_app | result = conn._execute_20(statement, params or {}, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
superset_app | return meth(self, args_10style, kwargs_10style, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
superset_app | return connection._execute_clauseelement(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
superset_app | ret = self._execute_context(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1953, in _execute_context
superset_app | self._handle_dbapi_exception(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2134, in _handle_dbapi_exception
superset_app | util.raise(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
superset_app | raise exception
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app | [SQL: SELECT dbs.uuid AS dbs_uuid, dbs.created_on AS dbs_created_on, dbs.changed_on AS dbs_changed_on, dbs.id AS dbs_id, dbs.verbose_name AS dbs_verbose_name, dbs.database_name AS dbs_database_name, dbs.sqlalchemy_uri AS dbs_sqlalchemy_uri, dbs.password AS dbs_password, dbs.cache_timeout AS dbs_cache_timeout, dbs.select_as_create_table_as AS dbs_select_as_create_table_as, dbs.expose_in_sqllab AS dbs_expose_in_sqllab, dbs.configuration_method AS dbs_configuration_method, dbs.allow_run_async AS dbs_allow_run_async, dbs.allow_file_upload AS dbs_allow_file_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_cvas AS dbs_allow_cvas, dbs.allow_dml AS dbs_allow_dml, dbs.force_ctas_schema AS dbs_force_ctas_schema, dbs.extra AS dbs_extra, dbs.encrypted_extra AS dbs_encrypted_extra, dbs.impersonate_user AS dbs_impersonate_user, dbs.server_cert AS dbs_server_cert, dbs.is_managed_externally AS dbs_is_managed_externally, dbs.external_url AS dbs_external_url, dbs.created_by_fk AS dbs_created_by_fk, dbs.changed_by_fk AS dbs_changed_by_fk
superset_app | FROM dbs
superset_app | WHERE dbs.id = %(pk_1)s]
superset_app | [parameters: {'pk_1': 'postgresql-examples-1'}]
superset_app | (Background on this error at: https://sqlalche.me/e/14/9h9h)
superset_app |
superset_app | During handling of the above exception, another exception occurred:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/superset/views/error_handling.py", line 101, in wraps
superset_app | return f(self, args, kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/superset/views/base_api.py", line 487, in get_list_headless
superset_app | duration, response = time_function(super().get_list_headless, kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/superset/utils/core.py", line 1372, in time_function
superset_app | response = func(args, kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/api/init.py", line 1628, in get_list_headless
superset_app | count, lst = self.datamodel.query(
superset_app | ^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 501, in query
superset_app | count = self.query_count(query, filters, select_columns)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 406, in query_count
superset_app | return self._apply_inner_all(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 388, in _apply_inner_all
superset_app | query = self.apply_filters(query, inner_filters)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 225, in apply_filters
superset_app | return filters.apply_all(query)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/filters.py", line 302, in apply_all
superset_app | query = flt.apply(query, values)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 229, in apply
superset_app | raise ApplyFilterException(exception=exc)
superset_app | flask_appbuilder.exceptions.ApplyFilterException: ApplyFilterException: DataError
superset_app | 2025-07-05 22:56:31,646:WARNING:root:Filter exception for SqlaTable.database with value postgresql-examples-1, will not apply
superset_app | 2025-07-05 22:56:31,648:ERROR:superset.views.error_handling:ApplyFilterException: DataError
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app |
superset_app | The above exception was the direct cause of the following exception:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 219, in apply
superset_app | rel_obj = self.datamodel.get_related_obj(self.column_name, value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 886, in get_related_obj
superset_app | return self.session.query(rel_model).get(value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "", line 2, in get
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
superset_app | return fn(args, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 947, in get
superset_app | return self._get_impl(ident, loading.load_on_pk_identity)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
superset_app | return self.session._get_impl(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
superset_app | return db_load_fn(
superset_app | ^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
superset_app | session.execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
superset_app | result = conn._execute_20(statement, params or {}, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
superset_app | return meth(self, args_10style, kwargs_10style, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
superset_app | return connection._execute_clauseelement(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
superset_app | ret = self._execute_context(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1953, in _execute_context
superset_app | self._handle_dbapi_exception(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2134, in _handle_dbapi_exception
superset_app | util.raise(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
superset_app | raise exception
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
Comment From: dosubot[bot]
This error happens because Superset expects the database ID to be an integer, but something is sending a string like "postgresql-examples-1"
instead. This causes the backend to fail when it tries to filter tables by database ID, resulting in the "invalid input syntax for type integer" error and the Table selector showing "No data" (reference, reference).
This isn't a regression in how Superset handles database IDs—recent code and issues confirm that IDs must be integers throughout the frontend and backend. UUIDs are supported as extra fields, but not as the primary key for filtering tables (code reference). The most likely cause is that the frontend, a custom integration, or a corrupted browser state is sending a string instead of the integer ID.
To resolve this, try clearing your browser's localStorage/sessionStorage and make sure you don't have any custom code or integrations that might be sending the wrong value. Also, double-check that both your frontend and backend are running the same (latest) version. This class of error is a known robustness gap—there's currently no type validation in the backend to catch this before it hits the database (reference).
If you continue to see this after a clean start, check for any customizations or plugins that might be interfering with the database selector logic.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Comment From: sunflower211
I am facing the same issue as well, @apabolleta did you manage to fix it?