問題タブ [postgresql-12]
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.
sql - PostgreSQL: ストアド関数を実行する (引数がキャストされているにもかかわらずエラーが発生する)
解決策が見つからない問題に遭遇しました。
関数の作成に成功しました。関数名と引数は次のとおりです。
また、関数を実行する権限をロールに付与することに成功しました。AND もコメントを作成しました:
ただし、クエリを実行してテスト ユーザーを作成しようとすると、次のようになります。
エラーが発生します:
エラー: 関数 app_private.create_user(citext, text, boolean, text, text, text, character Various, smallint, text) が存在しません
LINE 1: SELECT "app_private.create_user"('SY0'::citext, 'test@gmail ....
クエリとキャストを変更しようとしましたが、失敗しました。ほぼ髪を引っ張ります。
よろしくお願いします。
linux - postgreSQL での集計関数の実行に時間がかかりすぎる
最近、Linux サーバーに PostgreSQL データベースをデプロイしました。
ストアド プロシージャの 1 つに約 20 から 24 秒かかります。空のデータベースでも同じストアド プロシージャを実行しましたが (行が返されません)、同じ時間がかかっています。集計関数が原因で遅延が発生することがわかりました。
ここで関数ARRAY_TO_JSON(ARRAY_AGG(
を削除すると、結果は1秒以内にフェッチされます。
以下は私のコードスニペットです:
実行計画の説明:
以前、私は PostgreSQL データベースを Windows サーバーにデプロイしましたが、同じストアド プロシージャにかかる時間はわずか 1 ~ 1.5 秒でした。どちらの場合も、同じ量のデータを持つ同じデータベースでテストしました。また、両方のサーバーはRAM、プロセッサなどの同じ構成を持っています。また、同じPostgreSQL構成もあります。Linux サーバーでストアド プロシージャを実行すると、CPU 使用率が 100% になります。
同じ解決策があれば教えてください。
postgresql - Windows と Linux for PostgreSQL で実行計画が異なる
最近、Linux サーバーに PostgreSQL データベースをデプロイしました。ストアド プロシージャの 1 つは、結果をフェッチするのに約 3 ~ 4 秒かかります。以前は、PostgreSQL データベースを Windows サーバーにデプロイし、同じストアド プロシージャで 1 秒以内に結果をフェッチしていました。どちらの場合も実行計画を確認しました。
ほぼ同じですが、Linux の実行計画には以下の詳細が含まれています。
上記の詳細について何か考えがあり、速度低下の問題の根本的な原因がある場合はお知らせください。