# `EctoPGMQ.Queue`
[🔗](https://github.com/gdwoolbert3/ecto_pgmq/blob/main/lib/ecto_pgmq/queue.ex#L1)

Schema for PGMQ queues.

# `name`

```elixir
@type name() :: String.t()
```

A PGMQ queue name.

# `t`

```elixir
@type t() :: %EctoPGMQ.Queue{
  created_at: DateTime.t(),
  is_partitioned: boolean(),
  is_unlogged: boolean(),
  metrics: EctoPGMQ.Metrics.t() | nil,
  name: name(),
  notifications: EctoPGMQ.Throttle.t() | nil
}
```

A PGMQ queue.

# `query`

```elixir
@spec query() :: Ecto.Query.t()
```

Returns a query for all queues.

The returned query joins and populates queue metrics and queue notification
throttles.

## Examples

    iex> queues = Repo.all(query())
    iex> Enum.all?(queues, &is_struct(&1, EctoPGMQ.Queue))
    true

---

*Consult [api-reference.md](api-reference.md) for complete listing*
