packages/data-table-postgres/README.md
PostgreSQL adapter for remix/data-table.
Use this package when you want data-table APIs backed by pg.
pg Integration: Works with pg Pool and PoolClient instancesdata-table API Support: Queries, relations, writes, and transactionsdata-tableDataMigrationOperation operations for remix/data-table/migrationsreturning: truesavepoints: trueupsert: truetransactionalDdl: truemigrationLock: truenpm i remix pg
import { Pool } from 'pg'
import { createDatabase } from 'remix/data-table'
import { createPostgresDatabaseAdapter } from 'remix/data-table-postgres'
let pool = new Pool({
connectionString: process.env.DATABASE_URL,
})
let db = createDatabase(createPostgresDatabaseAdapter(pool))
Use db.query(...), relation loading, and transactions from remix/data-table.
Import any driver-specific types you need directly from pg.
data-table-postgres reports this capability set by default:
returning: truesavepoints: trueupsert: truetransactionalDdl: truemigrationLock: trueTransaction options are passed through to the adapter as hints.
await db.transaction(async (txDb) => txDb.exec('select 1'), {
isolationLevel: 'serializable',
readOnly: false,
})
You can override capabilities to verify fallback paths in tests.
import { createPostgresDatabaseAdapter } from 'remix/data-table-postgres'
let adapter = createPostgresDatabaseAdapter(pool, {
capabilities: {
returning: false,
},
})
data-table - Core query/relations APIdata-schema - Schema parsing and validationdata-table-mysql - MySQL adapterdata-table-sqlite - SQLite adapterSee LICENSE