调试连接 PostgreSQL Loopback 4

Debugging connection PostgreSQL Loopback 4

我在 mac(OS 10.14) 上使用 nodejs 14 和 PostgresSQL 12。 我刚刚安装了 Loopback4,在遵循 this tutorial 之后,我无法使用任何使用模型的点,即连接到 Postgres 的点,我经常遇到超时。 似乎它甚至没有到达 Postgres 服务器,但错误没有提供任何信息,只是请求超时。

Postgres 服务器没有问题,因为我可以连接其他 nodejs 应用程序并向同一数据库请求信息。

我也试过把它设为主机host: '/var/run/postgresql/',结果一样。

我现在尝试使用 Docker 容器的方法,按如下方式设置数据源文件:

import {inject, lifeCycleObserver, LifeCycleObserver} from '@loopback/core';
import {juggler} from '@loopback/repository';

const config = {
 name: 'mydb',
 connector: 'postgresql',
 url: 'postgres://postgres:mysecretpassword@localhost:5434/test',
 ssl: false,
};

// Observe application's life cycle to disconnect the datasource when
// application is stopped. This allows the application to be shut down
// gracefully. The `stop()` method is inherited from `juggler.DataSource`.
// Learn more at https://loopback.io/doc/en/lb4/Life-cycle.html
@lifeCycleObserver('datasource')
export class PostgresSqlDataSource extends juggler.DataSource
  implements LifeCycleObserver {
 static dataSourceName = 'PostgresSQL';
 static readonly defaultConfig = config;

  constructor(
    @inject('datasources.config.PostgresSQL', {optional: true})
    dsConfig: object = config,
  ) {
    super(dsConfig);
  }
}

使用相同的 url 我可以从我的 mac.

登录我的命令行

有没有办法添加日志记录并打印任何连接错误?其他调试方法?

[更新] 从今天开始,Loopback4 Postgres 连接器无法与 Nodejs 14 一起正常工作。

启动应用程序时,而不是 运行 npm start,可以通过运行:

设置调试字符串
DEBUG=loopback:connector:postgresql npm start

如果你想让它更通用,你可以使用:

DEBUG=loopback:* npm start