Node.js から PostgreSQL へ接続2019年4月13日 | |
はじめにNode.js から PostgreSQL サーバーに接続し、問い合わせをする。 環境
Node.js から PostgreSQL サーバーへの問い合わせNode.js で PostgreSQL サーバーに接続するには、pg モジュールを用いる。 準備。 $ mkdir postgresql $ cd postgresql $ npm init $ npm install --save pg index.js
const { Client } = require('pg');
const client = new Client({
user: 'xxxx',
host: 'localhost',
database: 'xxxx',
password: 'xxxx',
port: 5432,
});
client.connect(err => {
if(err){
console.error(err.stack);
}
});
const query = 'select * from sample where keyword like \'%aaa%\'';
client.query(query)
.then(res => {
console.log(res.rows);
client.end();
})
.catch(err => {
console.error(err.stack);
client.end();
});
実行。 $ node index.js 問い合わせは次のようにも書ける。
client.query(query, (err, res) => {
if(err){
console.error(err.stack);
client.end();
}else{
console.log(res.rows);
client.end();
}
});
client.query() の処理は非同期に実行されるため、問い合わせ結果を得て変数に入れて...ということをする前にするっと次の処理に行ってしまう。そこで、非同期関数に入れて待ちを入れる。
(async () => {
let rows;
await client.query(query)
.then(res => {
rows = res.rows;
client.end();
})
.catch(err => {
console.error(err.stack);
client.end();
});
console.log(rows);
})();
| |
| PENGUINITIS | |