Vigia

Upgrading postgres from 3.x to 4.x

Comparison of the public API of postgres 3.4.9 and 4.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports45
Changed signatures14
Removed class or interface members0
Changed class or interface members0
Newly deprecated0
Requirement changes (engines, peer dependencies)1
New exports6

Removed exports

importexportkindBefore
postgresStateinterfaceinterface
postgrescamelnamespacenamespace
postgreskebabnamespacenamespace
postgresBigIntvariablePostgresType<bigint>
postgresColumninterfaceinterface
postgrespascalnamespacenamespace
postgrestoCamelfunction(str: string): string
postgrestoKebabfunction(str: string): string
postgresMaybeRowtypeRow | undefined
postgrestoPascalfunction(str: string): string
postgresJSONValuetypestring | number | boolean | Date | readonly JSONValue[] | { toJSON(): any; } | { readonly [prop: string]: JSONValue | ((...args: any) => any) | undefined; readonly [prop: number]: JSONValue | ((...args: any) => any) | undefined; } | null
postgresStatementinterfaceinterface
postgresTransforminterfaceinterface
postgresfromCamelfunction(str: string): string
postgresfromKebabfunction(str: string): string
postgresColumnInfointerfaceinterface
postgresColumnListtype(T extends string ? Column<T> : never)[]
postgresListenMetainterfaceinterface
postgresRawRowListtypeBuffer[][] & Iterable<Buffer[][]> & ResultQueryMeta<T["length"], keyof T[number]>
postgresResultMetainterfaceinterface
postgresfromPascalfunction(str: string): string
postgresLargeObjectinterfaceinterface
postgresGenericErrorinterfaceinterface
postgresRelationInfointerfaceinterface
postgresSerializabletypestring | number | boolean | Date | Uint8Array<ArrayBufferLike> | null
postgresListenRequestinterfaceinterface
postgresValuesRowListtypeT[number][keyof T[number]][][] & ResultQueryMeta<T["length"], keyof T[number]>
postgresArrayParameterinterfaceinterface
postgresEscapableArraytype(string | number)[]
postgresPendingRequestinterfaceinterface
postgresConnectionErrorinterfaceinterface
postgresExecutionResulttype[] & ResultQueryMeta<number, keyof NonNullable<T>>
postgresParameterOrJSONtypestring | number | boolean | Date | Uint8Array<ArrayBufferLike> | Helper<any, any[]> | Parameter<any> | ArrayParameter<readonly any[]> | readonly JSONValue[] | { toJSON(): any; } | { readonly [prop: string]: JSONValue | ((...args: any) => any) | undefined; readonly [prop: number]: JSONValue | ((...args: any) => any) | undefined; } | T | readonly SerializableParameter<T>[] | null
postgresPendingRawQueryinterfaceinterface
postgresResultQueryMetainterfaceinterface
postgresNotSupportedErrorinterfaceinterface
postgresPendingValuesQueryinterfaceinterface
postgresSubscriptionHandleinterfaceinterface
postgresUnsafeQueryOptionsinterfaceinterface
postgresParameterOrFragmenttypeFragment | SerializableParameter<T> | Fragment[]
postgresConnectionParametersinterfaceinterface
postgresPendingDescribeQueryinterfaceinterface
postgresPendingQueryModifiersinterfaceinterface
postgresSerializableParametertypeSerializable | T | Helper<any, any[]> | Parameter<any> | ArrayParameter<readonly any[]> | readonly SerializableParameter<T>[]
postgresAuthNotImplementedErrorinterfaceinterface

Changed signatures

exportBeforeAfter
postgres · RowinterfaceRow
postgres · SqlinterfaceSql<TTypes>
postgres · ISqlinterfaceISql<TTypes>
postgres · HelperinterfaceHelper<T, U>
postgres · NoticeinterfaceNotice
postgres · OptionsinterfaceOptions<T>
postgres · ParameterinterfaceParameter<T>
postgres · ReservedSqlinterfaceReservedSql<TTypes>
postgres · PendingQueryinterfacePendingQuery<T>
postgres · PostgresTypeinterfacePostgresType<T>
postgres · ParsedOptionsinterfaceParsedOptions<T>
postgres · PostgresErrorclassPostgresError
postgres · TransactionSqlinterfaceTransactionSql<TTypes>
postgres · ReplicationEvent{ command: "insert"; relation: RelationInfo; } | { command: "delete"; relation: RelationInfo; key: boolean; } | { command: "update"; relation: RelationInfo; key: boolean; old: Row | null; }TransactionInfo & ({ command: "insert"; relation: RelationInfo; } | { command: "update"; relation: RelationInfo; key: boolean; old: Row | null; } | { command: "delete"; relation: RelationInfo; key: boolean; } | { command: "truncate"; relation: RelationInfo; cascade: boolean; restartIdentity: boolean; })

Removed class or interface members

None detected.

Changed class or interface members

None detected.

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node>=12>=20
New exports (6)
importexportkind
postgresdefaultfunction
postgresPoolEventtype
postgresQueryTracetype
postgresNoticeEventtype
postgresConnectTracetype
postgresTransactionTracetype

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading postgres from 3 to 4?

Between postgres 3.4.9 and 4.0.0, Vigia found 45 removed exports, 14 changed signatures and 0 removed or changed class or interface members.

What became deprecated in postgres 4?

0 exports or members are newly marked as deprecated in postgres 4.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/postgres/upgrade?from=3.4.9&to=4.0.0