-
-
Save tinovyatkin/e865c9afa4c601f00eb5fc61a7309c45 to your computer and use it in GitHub Desktop.
using node-postgres (`pg`) in AWS Lambda
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import type { Handler } from "aws-lambda"; | |
import { Pool } from "pg"; | |
// connection details inherited from environment | |
const pool = new Pool({ | |
max: 1, | |
min: 0, | |
idleTimeoutMillis: 120000, | |
connectionTimeoutMillis: 10000 | |
}); | |
export const handler: Handler = async (event, context) => { | |
// https://github.com/brianc/node-postgres/issues/930#issuecomment-230362178 | |
context.callbackWaitsForEmptyEventLoop = false; // !important to reuse pool | |
const client = await pool.connect(); | |
try { | |
const result = await client.query("SELECT NOW()"); | |
return result; | |
} finally { | |
// https://github.com/brianc/node-postgres/issues/1180#issuecomment-270589769 | |
client.release(true); | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment