PHPで良く使う処理まとめ
hebishima.shogo
プログラマーのあれこれ
はい、hebiです。
Node.jsでPostgreSQLからデータを取得する方法を記事にしたいと思います。
以下の記事で作成した環境でPostgreSQLからデータを取得したいと思います。
Node.jsでPostgreSQLを操作するためには、まずpgというNode.js用のPostgreSQLライブラリをインストールします。また、TypeScriptで実装する場合は、@types/pgという型定義もインストールしましょう。
npm install pg @types/pg
以下の手順で、PostgreSQLのDBからデータを取得することができます。
pgを定義し、接続するためのPool、QueryResultを利用できるようにします。
import { Pool, QueryResult } from 'pg';
DBへ接続するためにPoolを使って接続の設定を行います。
const pool = new Pool({
user: 'hebi',
host: 'ip or hostname',
database: 'testdb',
password: 'password',
port: 5432,
});
SELECT文を実行し、データを取得します。ここではt_customerテーブルからデータを取得しています。
const result: QueryResult = await client.query('SELECT * FROM t_customers');
console.log(result.rows);
上記の完成形が以下です。
import {
JsonController,
Get,
Param,
Res,
Req
} from 'routing-controllers';
import { Pool, QueryResult } from 'pg';
const pool = new Pool({
user: 'hebi',
host: 'ip or hostname',
database: 'testdb',
password: 'password',
port: 5432, // デフォルトのポート番号
});
@JsonController("/users")
export class UserController {
@Get("/:id")
async get(@Req() request: any, @Res() response: any){
// PostgreSQLに接続
const client = await pool.connect();
try {
// クエリを実行
const result: QueryResult = await client.query('SELECT * FROM t_customers');
console.log(result.rows);
return result.rows;
} catch (err) {
console.error('Error executing query:', err);
} finally {
client.release();
}
}
}
データを取得できることができました!
PostgreSQLのDBからデータを取得することができましたでしょうか?
queryの引数にSQL文を指定するとその結果がjsonで返却されるようになっています。
そのままフロントへ返却することで、フロントで簡単に表示することができそうですね。
ぜひ、Node.js、PostgreSQLは無料で利用できるので、使ってみてください。
最後までお読みいただきありがとうございました(^^♪