lib/queries/kill_all.ex

defmodule EctoPSQLExtras.KillAll do
  @behaviour EctoPSQLExtras

  def info do
    %{
      title: "Kill all the active database connections",
      columns: [
        %{name: :killed, type: :boolean}
      ]
    }
  end

  def query(_args \\ []) do
    """
    /* ECTO_PSQL_EXTRAS: Kill all the active database connections */

    SELECT pg_terminate_backend(pid) AS killed FROM pg_stat_activity
      WHERE pid <> pg_backend_pid()
      AND query <> '<insufficient privilege>'
      AND datname = current_database();
    """
  end
end