Node.jsからPostgreSQLに接続して、SQL(SELECT文)でデータを抽出するバックエンドプログラムを作成してみます。
今回はJavaScriptフレームワークは使わずNode.jsだけでプログラムを作成します。
Windows PCに Node.js(v20.12.1) と PostgreSQL(v16.1) をインストールしておいてください。
モジュールのインストール
(1) npmコマンドでPostgreSQLのクライアントモジュールをインストールします。(今回はC:\Nodeの下に作成します)
> npm install pg
プログラム作成
(1) プログラムファイル:pgdbread.jsを作成します。node_modulesディレクトリとjsonファイルはクライアントモジュールインストール時に自動で生成されています。
(2) 以下のようにプログラムソースを記述します。
pgdbread.js
const pg = require('pg');
const pool = new pg.Pool({
database: 'testDB',
user: 'testuser1',
password: 'testpass1',
host: 'localhost',
port: 5432,
});
pool.query('SELECT * FROM mortorcycle ORDER BY model_name ASC', (err, res) => {
if (err) {
console.log(err.stack);
} else {
console.log(res.rows);
}
});
1行:上の章でインストールしたモジュールからオブジェクトを作成します。
3-9行:ユーザがデータベースへ接続するための場所(Pool)を作成します。データベースへの接続情報を入力します。
11行:SELECT文を書きます。実行結果は res にセットされます。エラーが発生した場合は err にエラーメッセージがセットされます。
12-16行:何らかのエラーが発生した場合はメッセージをコンソールに表示、エラーがなかった場合は検索結果のレコード(rows)を表示します。
動作確認
(1) nodeコマンドでプログラムを実行します。
> node pgdbread.js
コンソールに処理結果が表示されました。
エラーが発生した場合はエラーメッセージが表示されます。接続情報やSELECT文をわざと間違えてエラーメッセージが表示されることも確認してみましょう。
実際のシステム開発では、このようなバックエンドプログラムで取り出したデータをフロントエンドフレームワークで加工してユーザに提供するという流れになります。