Skip to content

Commit

Permalink
feat: add "application_name" as an optional DB option #1170 (#1478)
Browse files Browse the repository at this point in the history
* implemented changes to resolve issue 1170

* added applicationName to the list of db options in the documentation'

Co-authored-by: Daniele Casal <daniele.casal@lloydsbanking.com>
Co-authored-by: Sukhvinder Panesar <79143027+esspee-lbg@users.noreply.github.com>
  • Loading branch information
3 people committed Apr 7, 2022
1 parent 2f59426 commit 7ddbff2
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/lib/__snapshots__/create-config.test.ts.snap
Expand Up @@ -11,6 +11,7 @@ Object {
},
"db": Object {
"acquireConnectionTimeout": 30000,
"applicationName": "unleash",
"database": "unleash_db",
"disableMigration": false,
"driver": "postgres",
Expand Down
1 change: 1 addition & 0 deletions src/lib/create-config.ts
Expand Up @@ -95,6 +95,7 @@ const defaultDbOptions: IDBOption = {
},
schema: process.env.DATABASE_SCHEMA || 'public',
disableMigration: false,
applicationName: process.env.DATABASE_APPLICATION_NAME || 'unleash',
};

const defaultSessionOption: ISessionOption = {
Expand Down
5 changes: 4 additions & 1 deletion src/lib/db/db-pool.ts
Expand Up @@ -9,7 +9,10 @@ export function createDb({
return knex({
client: 'pg',
version: db.version,
connection: db,
connection: {
...db,
application_name: db.applicationName,
},
pool: db.pool,
searchPath: db.schema,
asyncStackTraces: true,
Expand Down
1 change: 1 addition & 0 deletions src/lib/types/option.ts
Expand Up @@ -30,6 +30,7 @@ export interface IDBOption {
};
schema: string;
disableMigration: boolean;
applicationName?: string;
}

export interface ISessionOption {
Expand Down
1 change: 1 addition & 0 deletions src/server-dev.ts
Expand Up @@ -16,6 +16,7 @@ process.nextTick(async () => {
database: process.env.UNLEASH_DATABASE_NAME || 'unleash',
schema: process.env.UNLEASH_DATABASE_SCHEMA,
ssl: false,
applicationName: 'unleash',
},
server: {
enableRequestLogger: true,
Expand Down
1 change: 1 addition & 0 deletions website/docs/deploy/configuring-unleash.md
Expand Up @@ -205,6 +205,7 @@ The available options are listed in the table below. Options can be specified ei
| `pool.min` | `DATABASE_POOL_MIN` | 0 | The minimum number of connections in the connection pool. |
| `pool.max` | `DATABASE_POOL_MAX` | 4 | The maximum number of connections in the connection pool. |
| `pool.idleTimeoutMillis` | `DATABASE_POOL_IDLE_TIMEOUT_MS` | 30000 | The amount of time (in milliseconds) that a connection must be idle for before it is marked as a candidate for eviction. |
| `applicationName` | `DATABASE_APPLICATION_NAME` | `unleash` | The name of the application that created this Client instance. |

Alternatively, you can use a [libpq connection string](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING) to connect to the database. You can provide it directly or from a file by using one of the below options. In JavaScript, these are top-level properties of the root configuration object, *not* the `db` object.

Expand Down

0 comments on commit 7ddbff2

Please sign in to comment.