-   [](https://platform.exaloop.io/)
-   Databases
-   PostgreSQL

# PostgreSQL

Exaloop supports two ways to work with PostgreSQL: a native libpq client for application code and compiled functions for calculations inside SQL queries. Both use typed Codon values and execute without a Python interpreter.

Start with the [client](https://platform.exaloop.io/db/postgres/client/) to query an existing server without installing an extension. Choose [server functions](https://platform.exaloop.io/db/postgres/functions/) when the calculation belongs in the database and you can install native libraries with the required administrator privileges.

## Choose a Guide

-   [Client applications](https://platform.exaloop.io/db/postgres/client/): bind query parameters, manage transactions, and fetch large results.
-   [Server functions](https://platform.exaloop.io/db/postgres/functions/): expose typed Codon functions to SQL. Installation requires a database superuser.
-   [Deployment](https://platform.exaloop.io/db/postgres/deployment/): package extensions, manage permissions, and update loaded libraries.

Install the [all-SDK distribution](https://platform.exaloop.io/start/distribution/) and check [PostgreSQL compatibility](https://platform.exaloop.io/db/reference/#compatibility) before starting.

Source: https://platform.exaloop.io/db/postgres/
