I have statement_timeout set to 10000 (10 seconds) for a user in my Postgres database. However when I look at active queries in pg_stat_activity I find queries running for over 10 seconds (in some cases longer than 10 minutes). I set statement_timeout on the role executing these queries, and I have verified that in the pg_user table the user has statement_timeout=10000 set.
These statements are all inserts and I've verified there are no ungranted locks.
Why are these queries not being killed after the timeout?