gajus/
A PostgreSQL client with strict types, detailed logging and assertions.
USD raised
Recent activities
sql.Identifier on jsonb columns wraps in quotes
Calling end method in Mocking Slonik raises an exception
error: syntax error at or near "$1" when trying to drop db
More info on how to type generic functions using queries for docs?
Allow more parameter types for `sql.date` and `sql.timestamp`
How can I set the schema?
Select query does not return dates as Date instances
Make columnTypes in sql.unnest optional
Using `bigint` in `sql.array` results in TypeScript compiler error
error TS7016: Could not find a declaration file for module 'pg'.
Plans for API stability or stable releases?
Zod local version must be equal to slonik zod version
The rows should be validated after the interceptors are executed
Identifier with Column Alias Support
sql.type zod parser not applied when using createMockQueryResult
Error When Connecting to Redshift
Consider replacing the dependency on hyperid with native crypto module
Using RLS with Slonik
The automated release is failing 🚨
Executing arbitrary SQL in a transaction
Backwards Compatibility to allow migrating to Runtime-Validation (Zod)
The inferred type of 'sql' cannot be named without a reference to '.pnpm/zod@3.19.1/node_modules/zod'. This is likely not portable. A type annotation is necessary.
Drop ZodType constraints on sql.type, QeurySqlToken, type aliases, etc
v33.0.10 introduces breaking change
Deno support?
Improve documentation on when and why should we use `pool.connect(connection => { ... })`
"Argument is not assignable" error in the Result parser interceptor example
How to use `WHERE id IN` / `WHERE id = ANY` with v34+?
Include index in error when trying to bind undefined value
Type parser not applied in jsonb_agg fields
Improve Syntax Error Logging Output
What happened to TaggedTemplateLiteralInvocation?
CommonQueryMethod maybeMany returning []
Convert to ESM
TypeError: sql is not a function
Bulk inserts using unnest won't allow jsonb columns
Support for sqlcommenter: Option to Not Strip SQL Comments
No error is thrown even though unknown key is returned
PgClient may leak database connections if `createTypeOverrides` raises an error
connectionRetryLimit is off-by-one
Initial connection to setup the pool is missing retries
Pool is missing error handling
Add a helper to build where conditions
Allows you to work with stored procedure
Unix domain socket connection string throws: [ERR_INVALID_URL]: Invalid URL
Cannot use variable as name to create a new database using sql template literals
Contribute to postgresql-client
Calling stream.destroy(error) kills node
integrate zod into Slonik
Documentation: Promise.all incompatible with transactions
Export PoolContext and StreamHandler types
Is it possible to use nested arrays in queries?
Add column name property for `NotNullIntegrityConstraintViolationError`
Migrate to postgres.js? [latest benchmarks]
CREATE TABLE variablename = syntax error at or near "$1"
Module '"slonik"' has no exported member 'createMockQueryResult'
Closing cursor after destroying stream
sql.interval
Spread Syntax causes Maximum Call Stack Exceeded exception
bytea array error
Provide logger instance
Sopport socket:// URLs, needed for AppEngine+CloudSQL use
Make it easier to read / filter out logs
Use `bigint` within `sql` template string query
interceptor for `beforeClientError`
How to connect from App engine in a connection string?
`boolean` type acting odd with `unnest`
import issue for StreamHandler and PoolContext Types.
Should passing bad SQL to stream() throw an Error?
Slonik not compiling because of Record key typing error
When is sql.identifier required? - sql function composition clarification
How to use WHERE id IN
PrimitiveValueExpression preventing valid return type for `jsonb_build_object`
Integrate TypeBox validator
Expose streaming query as (typed) AsyncIterable
make_interval function has incorrect parameters
Migration management with Slonik
Cannot re-use pool connection after stream-related error
Do now allow to bind query methods if query is already typed
Type aliases not validating with Zod?
[discussion] Thoughts about adding sql.assign utility to Slonik?
Sql typing no longer works with interface types
Add sql.typeAlias('alias')
Warn if an attempt is made to acquire a new connection from pool within a transaction
Drop pg-native
Cannot extend parser
Cannot infer parser type
How to Insert Records with timestamp field using unnest
Function createPool does not honor the connection timeout setting during initialization
zod has been added as a dev dependency
Is there support for producing sql with numbered bind parameters or producing a values object with named bind parameters?
Native ESM issue: unable to import pg
ES Module problem with new p-limit dependency
createFieldNameTransformationInterceptor constructor no longer accept object with format prop
Using sql.timestamp with sql.array?
zod@4 is out
Implicit or Explicit query closes connection right after exec - do not return back to connection pool
Propagate `DataIntegrityError` to the `queryExecutionError` middleware
Disallow use of sql.join with literals
Integrate Standard Schema
Re-using value bindings for sql.array()?
`pool.connect` raises `Client has an active query.` and the connection never releases
AWS X-Ray instrumentation of pg client
Allow undefined in serializable
Add helper for ::inet
Add notice discouraging use of unnest as inferior to recordset
Expand sql.date() to support YYYY-MM-DD as a valid input
Add sql.uuid()
Support `sslrootcert=` connection string parameter for verifying SSL to postgres
Missing Error for exclusion constraints
Getting "Expected `activeQueryPromise` to be set." error
Regression: cannot use @slonik/migrator anymore due to multiple queries prevented
slonik support @neondatabase/serverless (postgres over HTTP / websockets) - pg compatible
sql.unsafe produces results of type "any / any[]" that triggers @typescript-eslint/no-unsafe-assignment
How to retrieve connection id from connection/transaction (CommonQueryMethods)?
Add afterTransactionBegin, beforeTransactionCommit, beforeTransactionRollback
Support dynamic passwords
Two identical types: FragmentSqlToken and SqlFragmentToken
allow more configuration options for otel tracings (opt-out)
add configuration option for allowing multiple statements in a single query
share pg client instances with other tooling/frameworks
Slonik does not work on cloudflare workers
transformRowAsync should be invoked in parallel
Passing explicit undefined for timeout options bypasses defaults and disables timeouts
Unsafe foreign connection false positive?
Peer dependency mismatch: root package uses Zod v4, but sub-packages still require Zod v3
Stream result row is of type `any` after patch update
Minor distinction of wording in the Readme file
Why is a connection destroyed when there is an error thrown from the connection handler?
Add sql.boolean to query builder
Connection Pool: option to reset connection (DISCARD ALL) after query result is returned
Zod Peer Dependency Set To V3 Instead of V3 OR V4
Missing zod peerDependencies again, causing type errors `Type instantiation is excessively deep and possibly infinite`
Outdated runtime validation transform interceptor docs
Transform example is not working
libpq-dev required to install dev dependencies
Export MaybePromise from package as its currently missing
Slonik fails with more than eight statements on one connection
Improving Runtime Validation Performance through Async Parsing
Partial<>'s Not Valid for SerializableValue
Breaking change (Node engine update) in patch version 37.0.3
Seems that `unnest` does not support arrays
Using values with `bigint`s in `sql.join` throws `Unexpected value expression.`
Backwards compatibility with old sql tag
How to insert embedding/vector using Slonik?
Add support for `options` parameter in connection URLs
Bug Report: sql.jsonb over-escapes quotation marks
Evaluate adding a way to re-use value bindings
Document `originalError` rename to `cause`
Make Slonik runtime validation non-Zod specific
BigInt break Jest (`JSON.stringify()`)
Support pgvector
rename afterPoolConnection to afterPoolConnectionConnect and afterPoolConnectionAcquire
Potential memory leak when using with the Jest's `--detectLeaks` flag
Produce the original stack trace
Any way I can do WHERE LIKE query?
Prevent unsafe sql.fragment usage
Failed connection attempts are not released from connection pool
anyFirst method returning error if we have multiple columns
How to use postgres npm package with the new Driver configuration
When using multiple row insert with `unnest`, `boolean` data type results in an error whereas `bool` works
Parameter connectionTimeout is not applied
Backend has been terminated unexpectedly
ts2305 Module slonik has no exported member SqlFragment
README doesn't properly demonstrate `postgres-bridge` integration
Request example ssl usecase
Can execute multiple statements in a single query
Export the "sql" tag as a separate package
idleTimeout with `DISABLE_TIMEOUT` set will use a 10s timeout
Slonik Errors override with native errors
Move middlewares into /slonik codebase
Because many throws when there's no rows it would be nice to have maybeMany
Running multiple SQL commands at once throws an exception
Remove dependency on roarr and allow for custom logging solution integration
Re-think how we organize error messages
Add ability to avoid nested transaction by detecting DatabasePoolConnection is a transaction
Cannot use $1 or $\d+ in nested SQL fragments
Cannot use $1 in nested TEXT
Is there a way to dynamically pass an operand?
Question : typing one/oneFirst
sql.json empty array?
Wrong type definition with empty/custom `typeParsers`
unrecognized configuration parameter "idle_in_transaction_session_timeout"
Retry transaction upon deadlock
Retry failing connections
Typescript types are out of sync
configure default idle_in_transaction_session_timeout
[Discussion]: How does this sql tagged template differ to other solutions
Prepared statement fails on binding parameters
ts-sql-plugin idea
Question: use of transaction
sql.array , support for UUID's
Connection Error: connectionHandler is not a function
Guidance now that normalizeIdentifier was removed
[Documentation] `sql.identifier` documentation is unclear for arrays
Cannot create enum type
source-map dependency causing errors
Treat undefined values as NULL
Instantiate slonik using an existing pg connection
Slonik unexpectedly tries to open a connection to localhost:5432
Using Slonik with an external connection pooler
How to use copyFromBinary with a stream source?
Nested JSON sql template throws InvalidInputError on valid JSON
Soft delete
Enable to use another logger than roarr
Slonik depends on array parser which is removed from pg-types 3.0.0
Possible EventEmitter memory leak detected with transaction
Accurate Performance Benchmarks Compared to Postgres
Case sensitive queries
Sql tag insert strings
Serializable transactions not working as intended
How do you dynamically create a where clause?
False library comparisons in documentation
Compile-time type constrains
No documentation for SSL
Wrong typings for createPool arguments
Query with dynamic WHERE clause members
Query Building Help: Insert
Values other than string | number in a createMockQueryResult?
Is it possible to import Slonik natively in Node?
Question: SQL tag cannot be bound an undefined value
Thoughts on making it possible to add stuff to the executionContext of a query?
syntax error at or near "$1" when running `SET`
Deprecate sql.rawList in favour of sql.expressionList
use interceptors to provide results rows without a pg connection
Documentation for anyFirst is either incorrect or counter-intuitive
[QUESTION] join replacement for booleanExpressionValues & comparisonPredicate doesn't work
sql.join separator is ignored
Inconsistency; Date Object; assignmentList vs valueList
Upgrade pg-copy-streams-binary to 1.2.0
NOTIFY/LISTEN
undefined values resulting in Unexpected value expression are very hard to debug
Better support for non-primitive types
Allow empty string in sql``
pg.Pool properties and events
Handle sql comments inside the sql tagged template literal
Add an operator-whitelist configuration to sql.comparisonPredicate
API design question
Throw an error when raw binding includes unreferenced value
Empty sql template or condtional template implementation
Add a client-side timeout
How to use correctly in graphql resolvers (apollo-server)
Query without transaction nesting?
Dynamic INSERT + ON CONFLICT DO UPDATE
PostGIS functions in sql.unnest
Incorrect Datatype of QueryContextType.queryInputTime
Pass a custom pg connection object
Ensure that each pool.connect() is getting a new connection
Hanging connections
Pass custom log function
README references `tupleList`
Question: How to insert an unwrapped array of values that contain an array?
Parse composite/row/record/tuple type values
Allow to configure transactions
Validate values added to SQL fragments
Develop a cache interceptor
Insert an array of SQL fragments
ConnectionError: Connection terminated due to connection timeout in Node 14.0.0
what's wrong with this sql query
Create interceptor for processing custom tagged template value expressions
sql.identifier should have an option not to quote the identifier
Change default interval parser to seconds
Allow Date object as a parameter/ result
Can't find sql.join
List of Identifiers, how?
slonik and notice log from database
SqlTaggedTemplateType missing join
enhancement: support passing around connections and transactions
Build failing in new ts projects after slonik dependency added
Support For "interval" Expressions
Disable/control roarr logs
Can't assert custom column type accurately
Basic example error - Unexpected SQL input. Query cannot be empty. Found only value binding
Getting non auto-releasing connection from pool
Accept non array on sql.identifier
Stop using Knex.js - Fragments sample no longer works
[TypeScript] Cannot use interface type because of ExternalQueryResultRowType constraints
idleTimeout (option for createPool) doesn't accept 'DISABLE_TIMEOUT'
Date typeParser not working any more
Slonik errors missing original error line numbers / stack traces
TypeError: connectionHandler is not a function
tuple to be locked was already moved to another partition due to concurrent update error handling
Connection closal after IMPLICIT TRANSACTION query
Allow to configure minimum number of active connections
sql`${sql.join(sql.binary(…))}` results in unexpected value expression.
Transaction binder does not allow streams
How to create dynamic enum types?
Connection error handling inside transaction
Clarification on explicit vs. implicit queries
'Result cursors do not work with the native driver. Use JavaScript driver.' error when using streams
Refactor of TaggedTemplateTypeLiteral was a breaking change
Question: How to build a query with a dynamic where clause?
Additional `#` in the sql string
SQL statements containing $1 cause errors
`sql.json(null)` should produce `'null'::jsonb` instead of `null`
Is their any way to Insert array value without `memberType`?
Making `sql` tag a standalone package
Add a helper function to construct connection URI
Function Calls That Require Single Quoted Parameters Doesn't Work
slonik-interceptor-query-normalisation no more usable?
Question: creating tables from variables
sql TTL buggy behavior
Automatically prepare queries that are executed more than X times
`stream` documentation severely lacking
sql.unnest with custom type defined with schema
copyFromBinary isn't working because pg-copy-streams-binary API has changed
TIMESTAMP and TIMESTAMPTZ get parsed incorrectly after upgrading to v24
error: date/time field value out of range
Automatically handle "remaining connection slots are reserved for non-replication superuser connections" error
Create an interceptor that automatically debugs long running queries
How to handle invalid UUID error in slonik?
How to use slonik with express
pg-native is not found in a monorepo with pnpm or yarn pnpm
Proposal: `sql.ands`, `sql.commas`, `sql.ors` helpers for query building
Type errors with sql.unnest
Create index named after a variable
Move `delay` package to development dependencies
`createMockPool`, `createMockQueryResult` types
Why does casting an array value as citext in the query returns the array as string?
transactionQueries is not iterable
Rewrite in TypeScript
How to combine ANY with bytea type for query for multiple rows?
How to select an array of tuples (multiple columns) `WHERE (column1, column2) = ANY` with Slonik?
Slonik QueryStream does not apply type parsers
Not possible to dynamically create `ON CONFLICT DO UPDATE SET` upsert queries
Question: prepared statements?
ConnectionError: Connection terminated due to connection timeout
Should sql.array accept `bigint` as the value of `memberType`?
Running array_agg on date type results in value error
Node 8: process.hrtime.bigint is not a function
Support for arrays of custom types
pg 8.2.0 seems not works with pgpool(4.1.1)
Retry failing for implicit pool queries
Slonik fails to open an unencrypted connection
Performance advice (and is pool.connect / pool.transaction expected to be much slower than pool.any/one/etc?
How to better describe the file with queries
Expose client configuration on pool instance
Allow replacing the underlying 'pg'
Timestamp type parser breaks if timezone is not GMT
SerializableValueType is not exported
Make `+` operator concatenate sql templates
Include message from originalError message in wrapped error
createMockQueryResult and transformRow incompatibility
OverridesType not exported
TypeScript: what connection type to use?
sql.json recursively mutates object with deepFreeze
missing comparison operators
Type issue: SerializableValueType is too restrictive when it comes to sql.json
Better connection mocking
How do I insert multiple records in my database using Slonik?
Question: Why are query results marked as `readonly`?
Fix types: export declare type CommonQueryMethodsType
Typescript changes didn't trigger a major release
Conditionally adding columns & values for insert operations
Connection and transactions handling
Alternative API proposal
`queryExecutionError` interceptor does not intercept assertion errors
© 2019 BoostIO, Inc.