There are a few issues: 1. pg-connection-string `ConnectionOptions` has `database: string | null | undefined` vs `PoolConfig` has `database?: string;` (which effectively means `database: string | undefined`). 1. pg-connection-string `ConnectionOptions` has `ssl?: boolean | string` vs `PoolConfig` has `ssl?: boolean | ConnectionOptions` - `string` is not present in `PoolConfig` - `PoolConfig` specifies `tls.ConnectionOptions` and pg-connection-string `ConnectionOptions` does not. (Note: Do not get confused here. There is [pg-connection-string ConnectionOptions](https://github.com/brianc/node-postgres/blob/master/packages/pg-connection-string/index.d.ts#L3) and [node's tls ConnectionOptions](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/tls.d.ts#L442)