text: Title: too many connections error between prefect-server and postgresql
  Body: ### Bug summary
  
  start prefect server and two prefect worker in two different cluster, didn't execute any flow run during the weekend. 
  
  Now it shows two many connections between postgresql and prefect-server.
  
  `k logs -n prefect              prefect-server-postgresql-0
  2025-03-02 20:11:40.878 GMT [709055] FATAL:  remaining connection slots are reserved for non-replication superuser connections
  2025-03-02 20:11:41.368 GMT [709056] FATAL:  remaining connection slots are reserved for non-replication superuser connections`
  
  prefect-server and background service 
  `asyncpg.exceptions.TooManyConnectionsError: remaining connection slots are reserved for non-replication superuser connections
  02:46:33.912 | ERROR   | prefect.server.events.triggers - Error running periodic evaluation
  Traceback (most recent call last):
    File "/usr/local/lib/python3.11/site-packages/prefect/server/events/triggers.py", line 622, in evaluate_periodically
      await periodic_evaluation(prefect.types._datetime.now("UTC"))
    File "/usr/local/lib/python3.11/site-packages/prefect/server/events/triggers.py", line 603, in periodic_evaluation
      for event in await get_lost_followers():
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/_internal/retries.py", line 57, in wrapper
      return await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/server/events/triggers.py", line 590, in get_lost_followers
      return await causal_ordering().get_lost_followers()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/server/events/ordering.py", line 136, in get_lost_followers
      result = await session.execute(query)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/session.py", line 463, in execute
      result = await greenlet_spawn(
               ^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 201, in greenlet_spawn
      result = context.throw(*sys.exc_info())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
      return self._execute_internal(
             ^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2241, in _execute_internal
      conn = self._connection_for_bind(bind)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2110, in _connection_for_bind
      return trans._connection_for_bind(engine, execution_options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "<string>", line 2, in _connection_for_bind
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
      ret_value = fn(self, *arg, **kw)
                  ^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1189, in _connection_for_bind
      conn = bind.connect()
             ^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3274, in connect
      return self._connection_cls(self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
      self._dbapi_connection = engine.raw_connection()
                               ^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3298, in raw_connection
      return self.pool.connect()
             ^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 449, in connect
      return _ConnectionFairy._checkout(self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 717, in checkout
      with util.safe_reraise():
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
      raise exc_value.with_traceback(exc_tb)
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 715, in checkout
      dbapi_connection = rec.get_connection()
                         ^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 837, in get_connection
      self.__connect()
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 900, in __connect
      with util.safe_reraise():
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
      raise exc_value.with_traceback(exc_tb)
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 896, in __connect
      self.dbapi_connection = connection = pool._invoke_creator(self)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/create.py", line 646, in connect
      return dialect.connect(*cargs, **cparams)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 622, in connect
      return self.loaded_dbapi.connect(*cargs, **cparams)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 961, in connect
      await_only(creator_fn(*arg, **kw)),
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
      return current.parent.switch(awaitable)  # type: ignore[no-any-return,attr-defined] # noqa: E501
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
      value = await result
              ^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/asyncpg/connection.py", line 2421, in connect
      return await connect_utils._connect(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 1049, in _connect
      conn = await _connect_addr(
             ^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 886, in _connect_addr
      return await __connect_addr(params, True, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 934, in __connect_addr
      await connected`
  
  prefect-worker crashed.
  `k logs -n prefect prefect-worker-57d9c54c95-54zsq 
  Traceback (most recent call last):
    File "/usr/local/lib/python3.11/site-packages/prefect/cli/_utilities.py", line 44, in wrapper
      return fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/cli/_types.py", line 155, in sync_fn
      return asyncio.run(async_fn(*args, **kwargs))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
      return runner.run(main)
             ^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
      return self._loop.run_until_complete(task)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
      return future.result()
             ^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/cli/worker.py", line 116, in start
      is_paused = await _check_work_pool_paused(work_pool_name)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/cli/worker.py", line 181, in _check_work_pool_paused
      work_pool = await client.read_work_pool(work_pool_name=work_pool_name)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/client/orchestration/_work_pools/client.py", line 416, in read_work_pool
      response = await self.request(
                 ^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/client/orchestration/base.py", line 53, in request
      return await self._client.send(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/prefect/client/base.py", line 354, in send
      response.raise_for_status()
    File "/usr/local/lib/python3.11/site-packages/prefect/client/base.py", line 162, in raise_for_status
      raise PrefectHTTPStatusError.from_httpx_error(exc) from exc.__cause__
  prefect.exceptions.PrefectHTTPStatusError: Server error '500 Internal Server Error' for url 'http://10.111.102.18:30252/api/work_pools/k8s'
  Response: {'exception_message': 'Internal Server Error'}
  For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
  An exception occurred.`
  
  
  ### Version info
  
  ```Text
  prefect version
  Version:             3.2.7
  API version:         0.8.4
  Python version:      3.10.12
  Git commit:          d4d9001e
  Built:               Fri, Feb 21, 2025 7:39 PM
  OS/Arch:             linux/x86_64
  Profile:             ephemeral
  Server type:         ephemeral
  Pydantic version:    2.10.6
  Server:
    Database:          sqlite
    SQLite version:    3.37.2
  Integrations:
    prefect-docker:    0.6.2
    prefect-kubernetes: 0.5.3
    prefect-gitlab:    0.3.1
  ```
  
  ### Additional context
  
  _No response_