問題タブ [postgresql-9.3]

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 に答える
116 参照

sql - リストで行を選択するPostgre JSON

値の 1 つとして JSON リストを持つテーブルがあります。列名はlist_orderで、値は次のようになります[1,2,3]

WHEREで選択するための比較を行うのに問題がありますlist_order。純粋な SQL では、次のようになります。SELECT * FROM table_name list_order=[1,2,3];

私が見つけた最も近い例は次のとおりです: How do I query using fields within the new PostgreSQL JSON datatype? . ただし、これは、JSON がリストではなく辞書である JSON のキーの値を取得します。必要に応じて変更しようとしましたが、うまくいきませんでした。

助言がありますか?それは可能ですか?なぜ文書化されていないのですか?ありがとう!

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

postgresql - サーバーのバージョンの不一致 postgresql pg_dump

データベースをエクスポートしようとすると、次のエラーが表示されます...

問題は、クライアント マシンの ubuntu バージョンが原因で、9.1.11 から 9.3.1 に更新できないことです。私は Ubuntu 13.04 raring ringtail を実行しています。このディストリビューション リンクでわかるように、ubuntu の究極の postgresql バージョンは 12.04 正確なパンゴリンです。

可能な解決策はありますか?前もって感謝します!

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

character-encoding - データベースの作成/復元における Postgre エンコーディングの問題

クライアントの以前のソフトウェア ベンダーから提供されたバックアップから Postgres データベースを作成しようとしています (写真にはありません)。しかし、エンコードの問題に苦しんでいます。私は Postgres にかなり慣れていないので (MySQL は私のものです)、私の無知を許してください。

を実行すると、疑問符と奇妙な文字の文字列でpsql dbname < /path/to/file.backup始まり、終わるあらゆる種類の行が吐き出され、出力の最後の行は次のようになります。invalid command

端末でバックアップ ファイルを開きましたが、多くの SQL 文字列に印刷不可能な文字 ("^@" で表されます) が散在しているのが見えます。上部にいくつかの文字列があり、ここで関連があると思われます。

つまり、データベースは UTF8 エンコーディングを使用していたようですが、ソフトウェア ベンダーの開発マシンは WIN1252 を使用していました。そして、バックアップ ファイルの文字列は WIN1252 にあると思いますか?

このデータベースをインポートするにはどうすればよいですか? 参考までに、私の開発マシンは Mac OSX を実行しています。

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

postgresql - postgres_fdw がスキーマを二重修飾するのはなぜですか?

名前の衝突を防ぐために、postgres_fdw を使用して、指定したスキーマに外部テーブルを作成する必要があります。私が抱えていた問題を特定するために、同じクラスターに import_test と export_test という 2 つのテスト用 postgres データベースをセットアップしました。Export_test には、foreign_schema.aa というテーブルがあります。サーバー import_test で、他の FDW の前提条件を実行した後、次のコマンドを実行しました。

それで:

これを行うと、次のようになります。

次のように、スキーマ修飾を行わない場合:

aa テーブルを public スキーマに移動すると、select は正常に機能します。

コマンド "SELECT id, dat FROM local_schema."foreign_schema.aa" が文字通りリモート サーバーで実行されている場合、それが機能しない理由は明らかです。何らかの理由で、postgres_fdw が table_name に指定された名前の前に外部テーブルのスキーマを追加しているように見えます。

選択クエリでスキーマを指定する必要があります。そうしないと、外部テーブルが表示されないためです。選択の前に検索パスを設定してスキーマ修飾を達成しても、役に立ちません。

私が間違っていることはありますか?そうでない場合、外部テーブルをスキーマ修飾できる回避策はありますか?

編集: @Craig Ringer の提案によると、自己完結型の psql 入力は次のとおりです。

次の出力が得られます。

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

json - PostgreSQLの#>と->>演算子の違いは何ですか?

->and->>演算子を使用して、PostgreSQL 9.3 の任意の JSON 要素にアクセスできます。と#>一緒に#>>、JSON パスを記述する短い形式しか提供していないように思えます。#>それとも、オペレーターの背後にある全体像はありますか? それは特別な目的を果たしますか/矢印表記よりも利点がありますか? パスを書くのに好ましい方法はどれですか?

なぜ and 演算子よりも and 演算子を使用する必要があるの#>でしょ#>>うか。->->>

ドキュメントはこれについて少し謎めいています。

以下の両方のクエリで同じ結果が得られます。

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

json - PostgreSQL で制約を作成するときに、JSON 配列のすべての要素に対処する方法はありますか?

PostgreSQLは、JSON 配列の各要素に制約を設定するための表記法/方法を提供していますか?

例:

order_idフィールドに制約を簡単に追加できます。

今、私は同じことをする必要がありますproduct_id。個々の配列項目に制約を加えることができます:

したがって、明らかに私が探しているのは、任意の JSON 配列要素に一致するためのある種のワイルドカード演算子です。

productsへの外部キーを持つ別のテーブルに製品を抽出することで、これを実行できることを私は知っていますorders。しかし、これが単一の JSON 列内で可能かどうかを知りたいので、データベース スキーマを設計するときにそれを念頭に置いておくことができます。

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

sonar-runner - Sonar-runner 例外の原因: 不明なデータベース ステータス: FRESH_INSTALL

Sonarqube4.0 および PostgreSQL9.3 データベースと sonarqube-runner2.3 を別のサーバーで実行しています。

Sonarqube と Postgresql データベース間の接続は問題なく、コンソール http://[sonar-host]:9000 にアクセスし、パスワードを変更してログインし、すべてのアクティビティを実行できます。データベースの自分のスキーマで作成されたテーブルも確認できます

私が抱えている問題は、ソナーランナーにあります。ソースディレクトリから sonar-runner を実行すると、以下の例外が発生します。

スタック オーバーフローに関する同様の投稿があることは知っていますが、すべてのプロパティ ファイルには正しい URL、ユーザー名、およびパスワードが含まれています。

sonar-project.properties:

ソナーのプロパティ:

pg_hba.conf には、サーバーとユーザーごとにエントリがあります

sonar-runner を実行すると、postgres ログにも以下のようなエラーが表示されます。

まず、データベースの sonarqubesit スキーマの下に schema_migartions テーブルが表示されます。次に、schema_migrations を使用しようとする理由がわかりません。私は別のスキーマに移行していないので?

誰でもこれを解決するのを手伝ってくれませんか。ソナーランナーのプロパティでスキーマが定義されている方法と関係があると思いますが、明らかなことは何もわかりません。

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

sql - Postgres(sql)でCHECK制約を使用してjson文字列を検証する

以下のスキーマを持つテーブルがあります:

phone_info 列のサンプル json データを以下に示します。

ここで、phone_info 列にチェック制約を追加して、"STATUS" ie(1010101010,2020202020) のすべてのキーが、値が "OK" である phone_info 列の (key,value) ペアとして存在するようにする必要があります。上記のサンプル データは、次のキーと値のペアが phone_info 列に存在するため、チェック制約を満たします。

以下の解決策を試しましたが、 array_agg 関数がチェック制約でサポートされていないため、これは機能しませんでした。

誰かが私を助けてくれませんか? SQL関数を書いて、その関数をチェック制約で使用できますか?

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

sql - Postgres 9.3 で JSON フィールドを集約する

次の値を持つ、info という名前の JSON 列があります。

この形式で出力するには、SQL クエリが必要です。

2 番目の値はカウントを表します。

私がなんとかしたことは、最初の値とカウントを抽出することです:

どの出力:

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

sql - 列内の値の重複を避ける

私のテーブルtable1は次のようになります。

重複せずに値を取得し、 「、」を使用しnoて分割したいので、次のnameように試しました:

しかし、重複は返されません。値を取得したい

  1. no列に重複はありません
  2. 名前は同じnoです。このように「,」を使ってマージします ( no 1 name with split(',') C_GT_2013-2014,C_GT_2014-2015)

Postgresql 9.3を使用しています。

私の結果は次のようになります。

Name を 3 つの列に分割したいのですが、どの単語が Master に来​​るのか、どの単語が AcMaster に来​​るのか、Others は Trans に来るのか、重複はありません