# Interface: LakebasePool

Subset of `pg.Pool` exposed by the Lakebase plugin.

RoutingPool does not extend EventEmitter — event listener methods like `on('error', ...)` are not available. Use `query()`, `connect()`, and `end()` for all pool operations.

## Properties[​](#properties "Direct link to Properties")

### idleCount[​](#idlecount "Direct link to idleCount")

```ts
readonly idleCount: number;

```

***

### totalCount[​](#totalcount "Direct link to totalCount")

```ts
readonly totalCount: number;

```

***

### waitingCount[​](#waitingcount "Direct link to waitingCount")

```ts
readonly waitingCount: number;

```

## Methods[​](#methods "Direct link to Methods")

### connect()[​](#connect "Direct link to connect()")

```ts
connect(): Promise<PoolClient>;

```

#### Returns[​](#returns "Direct link to Returns")

`Promise`<`PoolClient`>

***

### end()[​](#end "Direct link to end()")

```ts
end(): Promise<void>;

```

#### Returns[​](#returns-1 "Direct link to Returns")

`Promise`<`void`>

***

### query()[​](#query "Direct link to query()")

```ts
query<T>(text: string, values?: unknown[]): Promise<QueryResult<T>>;

```

#### Type Parameters[​](#type-parameters "Direct link to Type Parameters")

| Type Parameter                 | Default type |
| ------------------------------ | ------------ |
| `T` *extends* `QueryResultRow` | `any`        |

#### Parameters[​](#parameters "Direct link to Parameters")

| Parameter | Type         |
| --------- | ------------ |
| `text`    | `string`     |
| `values?` | `unknown`\[] |

#### Returns[​](#returns-2 "Direct link to Returns")

`Promise`<`QueryResult`<`T`>>
