具有AWS Lightsail节点映像,需要连接到AWS RDS上托管的Postgres

时间:2018-07-08 00:01:45

标签: node.js postgresql bitnami amazon-lightsail

我有一个节点js映像,需要连接到当前托管在aws rds上的postgreSQL数据库。

bitnami文档描述了如何连接到这里https://docs.bitnami.com/aws/infrastructure/nodejs/#how-to-connect-your-nodejs-application-to-an-oracle-database的oracle数据库,但是我找不到任何文献或类似方法来连接到postgres db。

我认为它会非常相似,但是我不确定。

请帮助。

1 个答案:

答案 0 :(得分:0)

Bitnami工程师在这里

您可以使用NPM软件包中可用的任何PostgreSQL客户端连接到PostgreSQL数据库。例如:

https://www.npmjs.com/package/pg

您可以在其官方页面上找到此软件包的所有信息

https://node-postgres.com/

运行以下代码以开始查询PostgreSQL数据库

create table tblInvoice (InvDt date, TenantId int, InvAmnt numeric)
insert into tblInvoice values ('20180601',1,1),('20180601',1,1),('20180601',1,1),('20180501',1,1), ('20180401',1,1)

SELECT Year
     , COALESCE(Jan   ,0) Jan
     , COALESCE(Feb   ,0) Feb
     , COALESCE(Mar   ,0) Mar
     , COALESCE(Apr   ,0) Apr
     , COALESCE(May   ,0) May
     , COALESCE(Jun   ,0) Jun
     , COALESCE(Jul   ,0) Jul
     , COALESCE(Aug   ,0) Aug
     , COALESCE(Sep   ,0) Sep
     , COALESCE(Oct   ,0) Oct
     , COALESCE(Nov   ,0) Nov
     , COALESCE(Dec   ,0) Dec
  FROM (   SELECT YEAR(InvDt)                     AS Year
                , LEFT(DATENAME(MONTH, InvDt), 3) AS Month
                , InvAmnt                         AS Amount
             FROM tblInvoice
            WHERE TenantId = 1) AS Inv
  PIVOT (   SUM(Amount)
            FOR Month IN (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)) AS pvt;

您还需要指定要连接到的数据库:

const { Pool, Client } = require('pg')

// pools will use environment variables
// for connection information
const pool = new Pool()

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