# Client libraries

Connect via client libraries/SQL drivers




> For the complete documentation index, see [llms.txt](https://preview.materialize.com/materialize/40269/llms.txt).


Applications can use various common language-specific PostgreSQL client
libraries to interact with Materialize and **create relations**, **execute
queries** and **stream out results**.

> **Note:** Client libraries tend to run complex introspection queries that may use configuration settings, system tables or features not yet implemented in Materialize. This means that even if PostgreSQL is supported, it's **not guaranteed** that the same integration will work out-of-the-box.


| Language | Tested drivers                                                  | Notes                                                 |
| -------- | --------------------------------------------------------------- | ----------------------------------------------------- |
| Go       | [`pgx`](https://github.com/jackc/pgx)                           | See the [Go cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/golang/index.md).       |
| Java     | [PostgreSQL JDBC driver](https://jdbc.postgresql.org/)          | See the [Java cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/java-jdbc/index.md).  |
| Node.js  | [`node-postgres`](https://node-postgres.com/)                   | See the [Node.js cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/node-js/index.md). |
| PHP      | [`pdo_pgsql`](https://www.php.net/manual/en/ref.pgsql.php)      | See the [PHP cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/php/index.md).         |
| Python   | [`psycopg2`](https://pypi.org/project/psycopg2/)                | See the [Python cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/python/index.md) and its [SQLAlchemy section](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/python/index.md#sqlalchemy). |
| Ruby     | [`pg` gem](https://rubygems.org/gems/pg/)                       | See the [Ruby cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/ruby/index.md).       |
| Rust     | [`postgres-openssl`](https://crates.io/crates/postgres-openssl) | See the [Rust cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/rust/index.md).       |

👋 _Is there another client library you'd like to use with Materialize? Submit a
[feature
request](https://github.com/MaterializeInc/materialize/discussions/new?category=feature-requests&labels=A-integration)._


## Pages in this section

- [Golang cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/golang/index.md): Use Go to connect, insert, manage, query and stream from Materialize.
- [Java cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/java-jdbc/index.md): Use the PostgreSQL JDBC Driver to connect, insert, manage, query and stream from Materialize.
- [Node.js cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/node-js/index.md): Use Node.js to connect, insert, manage, query and stream from Materialize.
- [PHP cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/php/index.md): Use PHP PDO to connect, insert, manage, query and stream from Materialize.
- [Python cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/python/index.md): Use Python to connect, insert, manage, query and stream from Materialize.
- [Ruby cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/ruby/index.md): Use Ruby to connect, insert, manage, query and stream from Materialize.
- [Rust cheatsheet](https://preview.materialize.com/materialize/40269/markdown-docs/serve-results/client-libraries/rust/index.md): Use Rust postgres-openssl to connect, insert, manage, query and stream from Materialize.
