UNPKG

@cocalc/database

Version:

CoCalc: code for working with our PostgreSQL database

55 lines 2.38 kB
"use strict"; /* * This file is part of CoCalc: Copyright © 2021 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getClient = void 0; const data_1 = require("@cocalc/backend/data"); const pg_1 = require("pg"); const logger_1 = require("@cocalc/backend/logger"); const consts_1 = require("../consts"); const cached_1 = __importDefault(require("./cached")); const password_1 = __importDefault(require("./password")); const L = (0, logger_1.getLogger)("db:pool"); __exportStar(require("./util"), exports); let pool = undefined; function getPool(cacheLength) { if (cacheLength != null) { return (0, cached_1.default)(cacheLength); } if (pool == null) { L.debug(`creating a new Pool(host:${data_1.pghost}, database:${data_1.pgdatabase}, user:${data_1.pguser}, statement_timeout:${consts_1.STATEMENT_TIMEOUT_MS}ms)`); pool = new pg_1.Pool({ password: (0, password_1.default)(), user: data_1.pguser, host: data_1.pghost, database: data_1.pgdatabase, statement_timeout: consts_1.STATEMENT_TIMEOUT_MS, // fixes https://github.com/sagemathinc/cocalc/issues/6014 }); } return pool; } exports.default = getPool; function getClient() { return new pg_1.Client({ password: (0, password_1.default)(), user: data_1.pguser, host: data_1.pghost, database: data_1.pgdatabase }); } exports.getClient = getClient; //# sourceMappingURL=pool.js.map