Vigia

将 postgres 从 3.x 升级到 4.x

根据 TypeScript 类型自动比较 postgres 3.4.9 与 4.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出45
已修改的签名14
已删除的类或接口成员0
已修改的类或接口成员0
新增弃用0
要求变化(engines、peer 依赖)1
新增导出6

已删除的导出

importexportkind之前
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

已修改的签名

export之前之后
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; })

已删除的类或接口成员

未发现。

已修改的类或接口成员

未发现。

新增弃用

未发现。

要求变化(engines、peer 依赖)

之前之后
engines.node>=12>=20
新增导出 (6)
importexportkind
postgresdefaultfunction
postgresPoolEventtype
postgresQueryTracetype
postgresNoticeEventtype
postgresConnectTracetype
postgresTransactionTracetype

把这些数据交给你的 AI 智能体

Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。

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

添加到 Cursor添加到 VS Code★ 在 GitHub 上加星

任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

智能体技能(SKILL.md):告诉智能体何时使用 Vigia · 用于拉取请求的 GitHub Action

常见问题

将 postgres 从 3 升级到 4 有哪些不兼容变更?

在 postgres 3.4.9 与 4.0.0 之间,Vigia 发现 45 个已删除的导出、14 个已修改的签名,以及 0 个已删除或修改的类或接口成员。

postgres 4 中弃用了哪些内容?

postgres 4.0.0 中有 0 个导出或成员新被标记为弃用。

供智能体使用

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