import { Dialect } from '../base/index.js'; import { RelatedDatabase } from "../type/related/database.js"; import { Database } from "../base/index.js"; import type { ClientConfig } from 'pg'; import { Column, Transaction, TransactionOptions, PoolConfig } from "../types.js"; export interface PostgreSQLDialectConfig extends ClientConfig { /** * 连接池配置 * 如果提供此选项,将使用连接池而不是单连接 */ pool?: PoolConfig; } export declare class PostgreSQLDialect = Record> extends Dialect { private connection; private pool; private usePool; constructor(config: PostgreSQLDialectConfig); isConnected(): boolean; connect(): Promise; disconnect(): Promise; healthCheck(): Promise; query(sql: string, params?: any[]): Promise; dispose(): Promise; /** * 获取连接池统计信息(仅在使用连接池时有效) */ getPoolStats(): { total: number; idle: number; waiting: number; } | null; mapColumnType(type: string): string; quoteIdentifier(identifier: string): string; getParameterPlaceholder(index: number): string; getStatementTerminator(): string; formatBoolean(value: boolean): string; formatDate(value: Date): string; formatJson(value: any): string; escapeString(value: string): string; formatDefaultValue(value: any): string; formatLimit(limit: number): string; formatOffset(offset: number): string; formatLimitOffset(limit: number, offset: number): string; formatCreateTable(tableName: T, columns: string[]): string; formatColumnDefinition(field: string, column: Column): string; formatAlterTable(tableName: T, alterations: string[]): string; formatDropTable(tableName: T, ifExists?: boolean): string; formatDropIndex(indexName: string, tableName: T, ifExists?: boolean): string; /** * PostgreSQL 支持事务 */ supportsTransactions(): boolean; /** * 开始事务 * 在连接池模式下,会获取一个专用连接用于事务 */ beginTransaction(options?: TransactionOptions): Promise; } export declare class PG = Record> extends RelatedDatabase { constructor(config: PostgreSQLDialectConfig, definitions?: Database.DefinitionObj); } //# sourceMappingURL=pg.d.ts.map