Node( Express )でPostgreSQLに接続する
NodeでPostgreSQLに接続する方法についてです。日本語ブログはMySQLとかmongoに接続するサンプルばかりですね。
pg-promiseの用意
今回はpg-promiseを使用してみます。インストールはnpmコマンドを叩くだけです。
1 |
$ npm install --save pg-promise |
設定ファイルの配置
db.jsを新規に作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var options = { // initialization options; }; var pgp = require("pg-promise")(options); var connection = { host: 'example.com', port: 5432, database: 'databasename', user: 'hogeuser', password: 'hogehoge' }; var db = pgp(connection); module.exports = db; |
SQLの記述
使用したい箇所でrequireを使ってdb.jsを読み込んで使用することができます。
1 2 3 4 5 6 7 8 9 10 11 |
var db = require('db'); db.any("select * from users where id=$1", [1]) .then(function (data) { // success; console.log(data); }) .catch(function (error) { // error; console.log(error); }); |
SQL文の書きどころについて
いわゆるController (Action Layer?) を記述するファイルにSQL文がそのまま記述されているとリーダブルじゃない気がするのでService layerを用意したいですね。これについては別途調査して記事を書きます。