SQL– tag –
-
データベースの日時比較とタイムゾーンの扱いについて
システム開発では、データベースに保存された日時情報を正確に比較することが求められます。しかし、開発環境と本番環境でタイムゾーンの設定が異なる場合や、日時のミリ秒が影響して意図しない比較結果が得られることがあります。本記事では、SQLとアプリ... -
Node.jsでのデータベース接続とリソース解放の正しい方法
Webアプリケーションを開発する際、データベースと接続する処理は不可欠です。しかし、適切にリソースを管理しないと、接続が解放されずにシステムの負荷が増大する可能性があります。本記事では、Node.jsを使用したデータベース接続の適切な管理方法につ... -
SQLの競合チェックを確実に行う方法(Node.js + PostgreSQL)
データベースを扱うシステムでは、複数の利用者が同時にデータを操作するため、競合(データの不整合)が発生することがあります。この記事では、特定の条件で競合が発生していないかを確認するSQLの書き方について解説します。 競合チェックが必要な理由 ... -
SQLのプレースホルダー番号を適切にリセットする方法(Node.js)
SQLを実行する際、動的にパラメータを設定することがあります。その際、プレースホルダー番号($1, $2, $3 など)の管理を適切に行わないと、意図しない動作やバグを引き起こす可能性があります。本記事では、SQLのプレースホルダー番号を適切にリセットす... -
PostgreSQLのSQL文でデータを一括更新する方法と実装例
データベースを扱う中で、特定の条件に基づいてデータを一括更新する必要が生じることはよくあります。本記事では、PostgreSQLを使用して複雑な条件を満たすデータの更新方法について解説します。特に、CASE 文を用いた柔軟なデータ更新の方法を実装例とと... -
PostgreSQLのdblinkで外部DBに接続できないエラーを解消
PostgreSQLのdblinkは、異なるデータベース間でのデータ連携を容易にする便利な拡張機能です。しかし、システム開発において、dblinkの利用中にエラーが発生し、原因特定に苦労することも少なくありません。本記事では、特にNode.js環境でdblinkを利用する... -
PostgreSQLでシーケンス権限不足エラーの解決方法
PostgreSQLでデータを処理する際に、下記のようなエラーが発生することがあります。 [crayon-6832febceecd0851579350/] このエラーは、ロールやユーザーに実行権限が付与されていないことが原因です。この記事では、この問題の解決方法や導入方法を解説し... -
CRONとSQLを使った定期処理で重複を防ぐためのテクニック
Webシステムでは、CRONを使って定期的に処理を実行することが常に行われます。しかし、CRONによるデータ処理では、重複したデータを再度処理してしまう問題が発生する場合があります。この問題を解決するためには、データが重複しないようにWHERE区を改善... -
PostgreSQLでCURRENT_TIMESTAMPを使った日付比較の問題
データベースの検索を行う際に、日付比較をするSQL文を書く事はよくあります。しかし、PostgreSQLでCURRENT_TIMESTAMPを使うと、タイムスタンプを含むため、日付みのデータと正しく比較できないことがあります。これは「当日のデータが収集できない」とい... -
PostgreSQLデータベース初期化とSQL実行を自動化するシェルスクリプト
PostgreSQLを使用したシステム開発では、データベースの初期化やロール設定、テーブル・データの投入作業を効率化することが重要です。本記事では、それらの作業を自動化するシェルスクリプトを紹介します。 シェルスクリプトの全体 このスクリプトは、以...