# `AshPostgres.ManualRelationship`
[🔗](https://github.com/ash-project/ash_postgres/blob/v2.9.0/lib/manual_relationship.ex#L5)

A behavior for postgres-specific manual relationship functionality

# `ash_postgres_join`

```elixir
@callback ash_postgres_join(
  source_query :: Ecto.Query.t(),
  opts :: Keyword.t(),
  current_binding :: term(),
  destination_binding :: term(),
  type :: :inner | :left,
  destination_query :: Ecto.Query.t()
) :: {:ok, Ecto.Query.t()} | {:error, term()}
```

# `ash_postgres_subquery`

```elixir
@callback ash_postgres_subquery(
  opts :: Keyword.t(),
  current_binding :: term(),
  destination_binding :: term(),
  destination_query :: Ecto.Query.t()
) :: {:ok, Ecto.Query.t()} | {:error, term()}
```

---

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