什么是一个简单的命令我可以运行来测试我是否可以使用node-postgres连接到PostgreSQL?

时间:2017-09-30 07:59:49

标签: node.js postgresql

我的文件db / index.js

const { Pool } = require('pg');
const pool = new Pool;

module.exports = {
    query: (text, params, callback) => {
        return pool.query(text,params,callback);
    }
};

在我的主文件main.js中我做了:

const db = require('./db/index');

我可以在db上运行什么命令来确定node-postgres是否能够正确连接到我的Postgres设置?

1 个答案:

答案 0 :(得分:0)

要简单测试是否可以从node.js连接到pgsql数据库,您可以使用以下代码段:

const { Pool } = require('pg')
const pool = new Pool()

pool.query('SELECT NOW()', (err, res) => {
  console.log(err, res)
  pool.end()
})

// or you can use async/await instead of callbacks
const res = await pool.query('SELECT NOW()')
console.log(res)
await pool.end()

这应该以包含当前日期时间的pg.Result对象的形式返回响应。

node-postgres使用与libpq相同的环境变量来连接到PostgreSQL服务器,因此要运行上面的代码,您可以这样调用它:

PGUSER=postgres PGHOST=127.0.0.1 PGPASSWORD=mysecretpassword PGDATABASE=postgres PGPORT=5432 node script.js

但您必须向数据库实例提供连接详细信息。

使用的环境变量的默认值为:

PGHOST='localhost'
PGUSER=process.env.USER
PGDATABASE=process.env.USER
PGPASSWORD=null
PGPORT=5432

您还可以通过编程方式直接向PoolClient实例提供连接详细信息。您还可以使用连接字符串URI。

您可以在"连接"中的node-postgres documentation中阅读更多内容。部分。