generated at
TypeScriptでタイプセーフにSQLを実行する
はじめに
TypeScriptNode.jsでタイプセーフにSQLを実行できるライブラリをまとめます
ORMについてはNode.jsのORMについてを参照ください

SQLを直接書けるライブラリ
SQLから様々な言語向けのコードを自動生成してくれるツールです
sqlc-gen-typescriptを利用することでTypeScriptコードを生成できます (node-postgres, postgres.js, node-mysql2, better-sqlite3あたりのドライバーに対応しています)
PgTypedと比較すると、sqlcにある様々な機能を活用できるのがメリット
ただし、sqlc-gen-typescriptは2023/12に公開された比較的新しいパッケージのため、安定性ではPgTypedの方が上だとは思います

sqlcと同様に *.sql ファイルにSQLを書いておき、そこからTypeScriptコードを自動生成できる
sqlc-gen-typescriptよりも長く開発・メンテナンスされ続けているのがメリット
sqlcとの違いとして、 *.ts ファイルにSQLを記述することも可能です
sqlcとは異なり、実際にデータベースへ接続してスキーマ情報を解析するため、ローカルなどにPostgreSQLのセットアップが必要です
自動生成したクエリはnode-postgresを使って実行できます

v5.19.0からPrisma TypedSQLという機能が入り、sqlcPgTypedなどと同様の使い方ができるようになりました

node-postgresのラッパー
slonik-toolsで提供される@slonik/typegenを使うことで、ソースコード中のSQLを解析してTypeScriptの型を自動生成してくれます

> Generate Typescript types from Postgres
これは試したことがないです..

>Zero-abstraction Postgres for TypeScript: a non-ORM database library
これは試したことがないです

>Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
これも試したことはありません

sqlxに影響を受けているようです
ソースコード中の sql (tagged templates)を使用して記述されたSQLを探索し、SQLの検証やTypeScript interface の生成などを行ってくれるようです

おそらく一番有名なライブラリ
クエリビルダーとしての機能に加えてマイグレーションなどもサポートされています
Objection.jsMikroORM, Bookshelf.jsなど、多くのORMで採用実績があります
マイグレーションをサポート
BunDenoなどもサポート
kysely-codegenを使うことでデータベースのスキーマ情報から型定義を自動生成してくれるようです
kyselyKnex.jsライクなクエリの構築機能に加えて、Prismaライクな問い合わせAPIも提供されているようです
マイグレーションなどもサポートされています
PostgreSQL向けのクエリビルダー
Denoでも動きそう
> Lightweight RDBMS agnostic TypeScript/JS abstraction for SQLite, PostgreSQL and MySQL

所感
個人的にはPgTyped, sqlc, kysely+kysely-codegenあたりが柔軟で好み
PgTypedsqlc *.sql ファイルにクエリを書くことができ、柔軟性の高さや各種linterformatter (sqlfluffなど)などのツールとの連携、SQLのレビューがしやすい点、軽量でCloudflare WorkersDeno Deployなどとの相性も期待できる点などがメリットだと思います
複雑なクエリを特定の条件などに基づいて柔軟に構築したい場合は、クエリビルダーが便利だと思います (kysely, Drizzle ORMなど)