【发布时间】:2020-07-23 10:55:41
【问题描述】:
我正在运行./node_modules/.bin/knex migrate:latest --env local
这会导致以下错误:
> knex migrate:latest --env local
Requiring external module ts-node/register
Using environment: local
TimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
at /Users/ashok/src/super-abs/alpha/server/node_modules/knex/lib/client.js:318:17
at tryCatcher (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/util.js:16:23)
at /Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/catch_filter.js:17:41
at tryCatcher (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/promise.js:725:18)
at _drainQueueStep (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/ashok/src/super-abs/alpha/server/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:456:21)
我什至尝试过删除数据库并重新运行。
是否有我需要以某种方式清除的连接?我的应用没有运行。
使用以下
"knex": "0.19.0",
节点-v:v14.0.0
psql (PostgreSQL) 11.7
【问题讨论】:
-
我还运行了
pg_ctl -D /usr/local/var/postgres restart来重新启动 postgres。仍然遇到同样的问题。 -
github.com/knex/knex/issues/3831 升级 node-pg 到 8 可以工作。
标签: node.js postgresql knex.js