# `QuackDB.Extension`
[🔗](https://github.com/elixir-vibe/quackdb/blob/main/lib/quack_db/extension.ex#L1)

SQL builders for DuckDB extension management.

These helpers build `INSTALL` and `LOAD` statements while validating extension
names as SQL identifiers. They return iodata so they can be passed directly to
`QuackDB.query/4`, `QuackDB.query!/4`, or `Repo.query/3`.

    alias QuackDB.Extension

    QuackDB.query!(conn, Extension.install(:httpfs))
    QuackDB.query!(conn, Extension.load(:httpfs))

`QuackDB.SQL.install/1` and `QuackDB.SQL.load/1` remain available as the
lower-level generic SQL helpers.

# `install`

```elixir
@spec install(atom() | String.t()) :: iodata()
```

Builds an `INSTALL extension;` statement.

# `load`

```elixir
@spec load(atom() | String.t()) :: iodata()
```

Builds a `LOAD extension;` statement.

---

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