問題タブ [node-postgres]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
18871 参照

node.js - node-postgresを使用してpostgresにファイルを保存する

node-postgresモジュールを使用して小さなファイルをpostgresデータベースに保存しようとしています。これを行うには、byteaデータ型を使用する必要があることを理解しています。私が抱えている問題は、次のようなことをするときです。

dbのファイル列の内容は\xであり、何も保存されません。データバッファを16進数、つまりdata.toString('hex')に変更すると、ファイルは保存されますが、ファイルを読み戻すとすべてのフォーマットが失われます。

node-postgresモジュールを使用してファイルをpostgresに保存する正しい方法は何ですか?

0 投票する
3 に答える
6248 参照

arrays - node-postgres から plpgsql 関数に配列を渡す

plpgsql 関数:

node-postgres クエリ + テスト配列:

ノードサーバーからの出力:

エラー: エラー: 配列の値は "{" で始まる必要があります または次元情報
結果: 未定義

testarray($1::int[])また、同じエラーが返されたように、クライアントクエリでパラメーターをキャストしようとしました。

関数の引数を に変更する(anyarray int)と、出力エラーが変更されました。

エラー: エラー: 整数の入力構文が無効です: "1,2,3,4,5"
結果: 未定義

他のいくつかのバリエーションと同様に。

エラーが発生せず、5 を返すバリエーションを探します。

Postgres parse-array の問題と、node-postgres のパラメーター化された配列に関するこのスタックオーバーフローの質問について読みました。

しかし、答えはそこにはなかったようです。

0 投票する
1 に答える
3690 参照

sql - トランザクションは node-postgres でどのように機能しますか?

node-postgres を使用して、コールバック スタイルで SQL クエリを作成しています。クエリのリストを取り込んでトランザクション ブロック内で実行する関数があります。私の理解では、node-postgres を使用してクエリ「BEGIN」を送信し、トランザクション ブロック内で必要なすべてのクエリを送信してから、クエリ「COMMIT」を送信します。

ただし、クエリは有効ですが (単純な挿入、スタンドアロン クエリとして十分にテストされています)、トランザクション ブロックの後にデータベースの状態をテストすると、すべてが正しい順序で確実に実行されます。矛盾した状態。すべての挿入が行われることもあれば、一部だけが行われることもありました。私の理解では、トランザクションブロックはアトミックであるため、ブロック内の挿入は、コミットの直後に SELECT を使用して検索する際にすべてかゼロである必要があります。

これが私の機能です:

ヘルパー関数 tryQuery を使用:

何がうまくいかないのかについて何か考えはありますか?

0 投票する
4 に答える
5704 参照

node.js - node-postgres Errorとはどのようなオブジェクトですか?ノードのconsole.logとJSON.stringifyが異なる方法で処理するのはなぜですか?

console.logは次のように出力します。

しかし、JSON.stringifyは、エラーの説明部分を認識しません。

{"長さ":86、 "名前": "エラー"、 "重大度": "エラー"、 "コード": "42601"、 "位置": "62"、 "ファイル": "スキャン.l"、 " line ":" 1001 "、" routing ":" scanner_yyerror "}

ウィキ( https://github.com/brianc/node-postgres/wiki/Error-handling、http:// nodejs)を読んで、この「エラー:列「未定義」が存在しません」を取得する方法がわかりません。 ru / doc / v0.4.x / stdio.html#console.log

コードはこんな感じ、

ありがとう

更新:err.toString()ショーerror: syntax error at or near "step"

0 投票する
1 に答える
7859 参照

node.js - サーバーでnode-postgresを使用するにはどうすればよいですか?

Postgresデータベースを使用するNode.jsWebサーバーを作成しています。私は次のように新しいリクエストごとに接続していました:

しかし、いくつかのリクエストの後、接続しようとしたときにHerokuで「メモリ不足」エラーが発生したことに気付きました。私のデータベースには10行しかないので、これがどのように発生するのかわかりません。私のデータベースアクセスはすべて次の形式です。

node-postgresメモリエラーがデータベースへの複数の永続的な接続によるものであると想定して、ファイルの先頭で1回だけ接続するいくつかの例で見たスタイルに切り替えました。

しかし、接続が切断された後にクエリを実行しようとすると、リクエストが(無期限に?)ハングするようになりました。(Postgresサーバーを強制終了して元に戻すことでシミュレートしました。)

では、どうすればこれらの1つを実行できますか?

  1. Postgres接続を適切にプールして、メモリが不足することなく毎回「再接続」できるようにします。
  2. ネットワーク障害が発生した後、グローバルクライアントに自動的に再接続させます。
0 投票する
2 に答える
2069 参照

node.js - node-postgres で postgres search_path を設定することは可能ですか?

アプリケーションを RoR から Express.js に移動しています。ActiveRecord postgres アダプターには、search_path 構成オプションがあります。

Client の search_path を設定することは可能ですか?