問題タブ [postgresql]

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

sql - PostgreSQLのビューを介して多対1の関係で2つのテーブルを更新する

私は2つのテーブルを持っています:foosbars、そしてそれらの間には多対1の関係があります:それぞれfooが多くを持つことができますbarsfoobarsこれらの2つのテーブルを結合するビューもあります(そのクエリはのようなものですselect foo.*, bar.id from foos, bars where bar.foo_id=foo.id)。

foo編集: sとsの間に多対多の関係があると言ったとしても、間違いではありませんbar。ただし、 Abarは単なるタグであり(実際にはサイズです)、その名前だけで構成されています。このテーブルbarsには、リンクテーブルと同じ役割があります。

foobars「foo」の部分がfoos新しい行として挿入され、コンマで区切られた2つのbar-idで構成される「bar」の部分が分割され、そのような部分ごとにリンクが挿入されるように挿入するルールがあります。それと適切なものの間にfoo作成されます(私はそれを行うための手順を使用します)。

これはインサートに最適です。しかし、全体を更新することになると、私には問題があります。ルールのfoo一部は簡単です。barしかし、複数の部分の扱い方がわかりません。ルールのようなことをしようとするとDELETE FROM bars WHERE foo_id=new.foo_id、テーブルからすべてを削除しなくなりますbars

私は何が間違っているのですか?必要なことを達成する方法はありますか?最後に、全体に対する私のアプローチは賢明ですか?

(取得するデータは「<code> fooとそのすべて」の形式であるため、ビューを使用してこの非常に複雑なことを行いますbarが、ユーザーは表示する必要がありますfoobars。)

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

postgresql - postgresqlのタイムトラベル関数

postgresqlのcontrib/spiモジュールのタイムトラベル関数を推奨/反対する人はいますか?どこでも利用できる例はありますか?

Tnx

0 投票する
5 に答える
4507 参照

python - 列全体の SQL 絶対値

次のようなテーブルがあります。

+ と - の値は単語に関連付けられているため、教授は賢く、犬は賢くありません。アラスカは、そのエントリに関連付けられた合計値の割合として大きく、ブヨについてはその逆です。

ゼロから最も遠い数値の絶対値と、絶対値=/=値かどうかのトークンを取得する良い方法はありますか? 関連して、特定の値の結果が他の値に対して比例して大きいかどうかをどのように計算すればよいでしょうか? 「犬: 賢くない、おそらく高価ではない; 教授は賢い; フェラーリ: 速くて高価; アラスカ: 大きい; ブヨ: おそらく小さい」(書式設定は質問ではなく、単なる説明です。根本的なクエリに固執しています。)

また、プログラムの残りの部分は python であるため、通常の dbapi モジュールまたはより抽象的なモジュールを使用した python ソリューションがあれば、助けていただければ幸いです。

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

sql - RIを壊さずに参照の輪を追加できますか/どのようにしますか?

私は主にこれについてpgsqlに興味がありますが、相互に参照する2つのテーブルで、FOREIGN KEYまたはNOT NULL制約を無効にして再度有効にすることなく、RDBMSで挿入操作を行う方法があるかどうか疑問に思っていました. (これは、自分の卵から生まれたニワトリと考えてよいでしょう。)

実用的な例として、多肢選択式のクイズ システムに「question」と「answer」というテーブルがあり、ここで question.correct_answer が answer.id を参照し、answer.question が question.id を参照している場合、追加することは可能ですか?質問とその回答を同時に?

(記録として、トランザクションブロックで無効化と再有効化を行うことができること、および別の解決策は、 correct_answer 列を持たず、代わりにブール値として answer.correct を持ち、チェック制約を作成することであることを認識しています質問ごとに正確に 1 つの正解があることは確かですが、ここでの別の解決策については興味がありません。)

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

php - 電子休暇申請データベース設計

私は現在、休暇申請書 (e-scheduler プロジェクトのサブセット) に取り組んでおり、次のようなデータベース設計を行っています。

ここスタックオーバーフローで、e-leave アプリに取り組んでいる人はいますか? 私のデータベースよりも優れたデザインを探しているので、データベースのデザインを共有してください。現在の設計の問題は、システムが繰り越し可能な日数を計算している年の初めにのみ発生します。

合計で、1 + {$number_of users} * 2 クエリを実行する必要があります (最初のクエリは、割り当てルールの数と最大繰越クォータを調べるためのものです。次に、各ユーザーについて、残高を調べる必要があり、次に残高をデータベースに挿入します)

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

sql - SQL - ステート マシン - 変更セットに基づく履歴データのレポート

ユーザーの状態を記録し、保持している変更の記録に基づいて履歴をレポートできるようにしたいと考えています。私はこれを SQL (PostgreSQL を使用) で実行しようとしていますが、次のようなユーザーの変更を記録するための提案された構造があります。

これは、データに基づいて、私が提案したテーブル構造です。

ステータス フィールドの「a」はアクティブなユーザーを表し、「s」は停止中のユーザーを表します。

したがって、このユーザーは 1 月 1 日に停止され、2 月 1 日に再びアクティブになりました。

2008 年 1 月 15 日に停止された顧客のリストを取得したい場合、userid 1 が表示されるはずです。2008 年 2 月 15 日に停止された顧客リストを受け取った場合、userid 1 は表示されません。

1) これは、この種のクエリに対してこのデータを構造化するための最良の方法ですか?

2) この構造または提案された変更された構造のいずれかでデータを照会して、単純に日付 (1 月 15 日など) を取得し、SQL のみでその日付にアクティブなステータスを持っていた顧客のリストを見つけるにはどうすればよいですか? これはSQLの仕事ですか?

0 投票する
9 に答える
101505 参照

python - SQLAlchemy で UUID を使用するにはどうすればよいですか?

PostgreSQL (Postgres)を使用している場合、SQLAlchemyで列 (主キー) をUUIDとして定義する方法はありますか?

0 投票する
5 に答える
31679 参照

postgresql - 内部結合と外部結合; from のテーブルの順序は重要ですか?

外部結合と内部結合を組み合わせるときにテーブルの順序が重要なのはなぜですか? 以下はpostgresで失敗します:

結果:

FROM でグループを逆にすると、すべてが機能します。

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

sql - SQL SELECT FROM ... AS データ型指定子付き?

Postgresql での SQL クエリに問題があります。この select 句は、データベースに関する講義の例です。

問題は、2 行目の Marketshare 列です。StudentsPerCourse と StudentCount はどちらも整数型です。

これを Postgresql データベースで使用すると、Marketshare 列は int 型として評価されますが、ここでは float/numeric が必要です。Postgresql のドキュメントで SELECT 句を検索したり、グーグルで検索したりしても、データ型を指定する方法が見つかりませんでした。列の型を指定する (できれば標準 SQL) 方法はありますか、それともここで何か不足していますか?

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

postgresql - pgsqlポートを変更します

現在、ポートで実行されているpgsqlインスタンスがインストールされています1486。このポートをに変更したいのですが5433、どうすればよいですか?