# PostgresInstanceEngineProps

Properties for PostgreSQL instance engines.

Used in `DatabaseInstanceEngine.postgres`.

- Source: [`aws-rds/lib/instance-engine.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-rds/lib/instance-engine.ts#L2188)

## Example

```ts
declare const vpc: ec2.Vpc;
const instance = new rds.DatabaseInstance(this, 'Database', {
  engine: rds.DatabaseInstanceEngine.postgres({
    version: rds.PostgresEngineVersion.VER_17_7,
  }),
  vpc,
  iamAuthentication: true,
});

const proxy = new rds.DatabaseProxy(this, 'Proxy', {
  proxyTarget: rds.ProxyTarget.fromInstance(instance),
  vpc,
  defaultAuthScheme: rds.DefaultAuthScheme.IAM_AUTH, // No secrets required
});

// Grant IAM permissions for database connection
const role = new iam.Role(this, 'DBRole', { assumedBy: new iam.AccountPrincipal(this.account) });
proxy.grantConnect(role, 'database-user'); // Database user must be specified when using IAM auth
```

## Properties

- `version`: [PostgresEngineVersion](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.PostgresEngineVersion.html) (required) — The exact version of the engine to use.
