diff --git a/packages/nodes-base/credentials/Postgres.credentials.ts b/packages/nodes-base/credentials/Postgres.credentials.ts index c99a7aa722..9e5f58c71c 100644 --- a/packages/nodes-base/credentials/Postgres.credentials.ts +++ b/packages/nodes-base/credentials/Postgres.credentials.ts @@ -35,6 +35,19 @@ export class Postgres implements ICredentialType { }, default: '', }, + { + displayName: 'SSL', + name: 'ssl', + type: 'options' as NodePropertyTypes, + options: [ + { name: 'disable', value: 'disable' }, + { name: 'allow', value: 'allow' }, + { name: 'require', value: 'require' }, + { name: 'verify', value: 'verify (not implemented)' }, + { name: 'verify-full', value: 'verify-full (not implemented)' } + ], + default: 'disable', + }, { displayName: 'Port', name: 'port', diff --git a/packages/nodes-base/nodes/Postgres/Postgres.node.ts b/packages/nodes-base/nodes/Postgres/Postgres.node.ts index eed3b50cf3..bfff260848 100644 --- a/packages/nodes-base/nodes/Postgres/Postgres.node.ts +++ b/packages/nodes-base/nodes/Postgres/Postgres.node.ts @@ -202,7 +202,19 @@ export class Postgres implements INodeType { const pgp = pgPromise(); - const db = pgp(`postgres://${credentials.user}:${credentials.password}@${credentials.host}:${credentials.port}/${credentials.database}`); + const config = { + host: credentials.host as string, + port: credentials.port as number, + database: credentials.database as string, + user: credentials.user as string, + password: credentials.password as string, + ssl: credentials.ssl != 'disable', + sslmode: credentials.ssl as string + }; + + const db = pgp(config); + + //const db = pgp(`postgres://${credentials.user}:${credentials.password}@${credentials.host}:${credentials.port}/${credentials.database}`); let returnItems = [];