diff --git a/core/src/zeit/connector/postgresql.py b/core/src/zeit/connector/postgresql.py index f95909fb93..f5d3a954b5 100644 --- a/core/src/zeit/connector/postgresql.py +++ b/core/src/zeit/connector/postgresql.py @@ -641,12 +641,19 @@ def __init__(self, engine, **kw): def start_span(self, *args, **kw): return zeit.cms.tracing.start_span(__name__ + '.tracing', *args, **kw) + def _write(self, buffer, params): + for k, v in params.items(): + buffer.write('%s=%r\n' % (k, str(v)[:100])) + def _before_cur_exec(self, conn, cursor, statement, params, context, executemany): statement, params = super()._before_cur_exec( conn, cursor, statement, params, context, executemany ) p = StringIO() - for k, v in params.items(): - p.write('%s=%r\n' % (k, str(v)[:100])) + if isinstance(params, (list, tuple)): + for param in params: + self._write(p, param) + elif isinstance(params, dict): + self._write(p, params) context._otel_span.set_attribute('db.parameters', p.getvalue()) return statement, params