問題タブ [plpgsql]

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 投票する
2 に答える
1599 参照

database - トリガーの実行速度におけるPostgresの不一致?

テーブルの挿入または更新時に関数を実行するトリガーがあります。次のようになります。

行を挿入すると、実行が非常に遅くなるようです。Explain Analyst を使用して、このトリガーが完了するまでに 400 ミリ秒近くかかっていることがわかりました。

ただし、関数で 2 つの多くの SQL を実行すると、それぞれ実行に 3 ~ 4 ミリ秒しかかかりません!

最初の部分:

第二部:

これは私には意味がありません。

何かご意見は?

ありがとう。

0 投票する
2 に答える
5539 参照

postgresql - 関数から更新された行を返す方法

私はpostgresにかなり慣れていません。複数の行を更新し、影響を受ける行を選択する関数 (ストアド プロシージャなど) を作成したいと考えています。

ここに私の声明があります:

影響を受ける行が 1 行だけであれば問題なく動作します。しかし、より多くの行が影響を受ける場合、影響はありません。

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

postgresql - 宣言されたパラメータをPl/pgSQLのクエリのコンポーネントとして使用するにはどうすればよいですか?

pl/pgsqlでジェネリック関数を実行しようとしています。私は理解できない問題に直面しています。宣言ブロックで、いくつかのパラメーターに値を割り当てたのを参照してください。それらをクエリのコンポーネントとして使用する方法を知りたいのですが。(例:BEGIN / ENDブロック、groupby_join_field)

すべてのアイデアは大歓迎です、

編集 :

この場合、goupby_join_fieldの値はyear_idなので、エンジンにdim_date.year_idを理解してもらいたいと思います。

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

ruby-on-rails - PostgreSQL トリガーの使用方法

Rails アプリで PostgreSQL トリガーを使用しようとしています。そこで、トリガーの実行がおそらく簡単なこの移行を使用してみました。

しかし、これは何も変わりませんでした。ここで使用する場合、プロシージャまたは関数をどこに記述すればよいかわかりません...

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

postgresql - 集約関数への入力としてのpl/pgsql配列

統計処理を行うpl/pgsql関数を書いています。postgresの8.2を使用します。この便利な集計関数を使用したい:

regr_slope(Y、X)

しかし、XおよびYデータをローカル配列としてpl/pgsql関数に格納しています。ydoubleprecision[]; x倍精度[];

問題は、これをpl/pgsql関数の行として使用する場合です。

勾配:= regr_slope(y、x);

関数が使用できない、または引数が間違っているというエラーが表示されます。これは、入力が倍精度配列として渡されるのではなく、テーブルから列として選択されることになっているためだと思います。

ローカル配列でregr_slope関数を作成する方法はありますか?(つまり、配列を集計関数への有効な入力としてキャストする方法はありますか?)

ありがとうございました。

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

plpgsql - PSQL : トリガーも使用されているテーブルを更新します。

これを回避する最善の方法は何ですか。

そのため、テーブルでトリガーを使用します。トリガーに関連する関数は、トリガーが使用されている同じテーブルを更新します。

両方を行うことができないため、これは問題です。

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

postgresql - PostgreSQL:IPv4アドレスの最初の3つの数字を比較しますか?

私は、ユーザーが他のユーザーの「良さ」を評価できるPHPスクリプトをプログラムしようとしています。

改ざんを防ぐために(しようと)過去1時間の間に同じIPからの同じIDのエントリを削除したい

(プロキシ/ルーターによる時折の誤検知は問題ありません-作成者は後で再送信できるため、評価を失っても問題ありませんが、別のIDで登録され、データベース全体を台無しにすることはできません。私がウェブサイトから離れている間):

2つの質問があります:

1)4ではなくIPアドレスの最初の3つの数字だけを比較したい場合、どうすればよいですか? (はい、IPv4ネットワークのA、B、Cタイプについては知っていますが、ここでは関係ありません...)

2)テーブルにインデックスを追加する必要がありますか、それともidとauthorがすでにインデックスに登録されていますか?

ありがとうございました!アレックス

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

database - PostgreSQL 関数から HTML を生成する

誰でもこれで私を助けることができますか?PostgreSQL(plpgsql言語)で指定されたテーブル名からHTMLテーブルを生成する関数を作成するタスクがあります。私はこれを書きましたが、それは私が必要とするものとはかけ離れています。私が与える列のテーブルを生成します (現時点では 1 つだけです) が、テーブルに名前を付けるだけで済みます。

CREATE OR REPLACE FUNCTION genhtml2(tablename text, columnname text)
RETURNS text AS $BODY$ DECLARE result text := ''; searchsql テキスト:= ''; var_match テキスト := ''; BEGIN searchsql := 'SELECT' || || 列名 || ' から ' || || テーブル名 || '';

結果を返します。終わり; $BODY$ LANGUAGE 'plpgsql' 不変;

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

postgresql - plpgsql関数はtable(..)を返します

このplpgsql関数を機能させようとしています:

2行目でエラーが発生し続けます-テーブル..

エラー:「TABLE」またはその近くの構文エラー2行目:RETURNS TABLE(designacion varchar(255)、timebeingrotten varch ... ^

***エラー** *

エラー:「TABLE」SQL状態またはその近くでの構文エラー:42601文字:67

0 投票する
0 に答える
4331 参照

postgresql - トリガーの行を削除(PostgreSQL)

更新時にトリガーがあり、行OLD *が削除されますが、テーブルの構造がわかりません。そこで、information_schemaを使用して列名を取得しようとしましたが、非常に低速です。

テーブルの構造を知らなくても削除はできますか?

UPD: トリガーは任意のテーブルの行を受け入れる必要があるため、トリガー関数はテーブルが呼び出される前にテーブルについて何も知ることができません。

UPD2:
これは私にとってうまく機能します: