@sqltags/pg
v0.2.2
Published
PostgreSQL driver for SqlTags (@sqltags/core) 🔧✨ Safely create & execute parameterized SQL queries using template strings
Maintainers
Readme
SqlTags PostgreSQL driver
This is the PostgreSQL driver for the @sqltags/core library.
Please refer to the @sqltags/core project README for more information.
What is SqlTags?
🔧✨ Safely create & execute parameterized SQL queries using template strings.
const [user] = await sql`SELECT * FROM users WHERE id = ${userId}`;Results in the following query:
SELECT * FROM users WHERE id = $1
-- with parameters: [123]Installation & Usage
Install:
npm install @sqltags/core @sqltags/pgCreate & connect a PostgreSQL Client or Pool instance, then create a SQL tag using the connection:
import { Client } from 'pg';
import { createPgTag } from '@sqltags/pg';
const client = new Client({
/* ... */
});
await client.connect();
const sql = createPgTag(client);import { Pool } from 'pg';
import { createPgTag } from '@sqltags/pg';
const pool = new Pool({
/* ... */
});
const sql = createPgTag(pool);You can also pass a connection checked out from a pool (a PoolClient), which is
useful when you need an explicit transaction on a single connection:
const client = await pool.connect();
try {
const sql = createPgTag(client);
await sql`BEGIN`;
// ...run statements on this one connection...
await sql`COMMIT`;
} finally {
client.release();
}Query:
const [user] = await sql`SELECT * FROM users WHERE id = ${userId}`;Don't forget to disconnect your client when finished!
await client.end();