問題タブ [ltree]

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

sql - PostgreSQL ltree は、指定されたラベル (パスではない) のすべての先祖を見つけます

ltree パス列を持つテーブルがあります。私の階層では、ラベルへのパスは一意です。つまり、すべてのラベルには親ラベルが 1 つだけあります。つまり、テーブル内に同じラベルで終わる 2 つの ltree パスはありません。

ltree ラベルがあります。「C」としましょう。

次のクエリを使用して、このラベルのすべての子孫行を見つけることができます。

これは正常に機能し、正しいサブツリーが得られます。

ここで、この特定のラベルの先祖行をすべて検索するクエリを実装する必要があります。たとえば、テーブルに「A」、「AB」、「ABC」というラベルの付いた 3 つの行がある場合、パス「A」と「AB」の行を取得したいと考えています (おそらく「ABC」自体を含む)。今のところ問題ありません)。

「C」(上記の例では「ABC」) のフル パスがわかっている場合、@>オペレーターの操作は簡単です。しかし、今は「C」しか知らないので、単一のクエリでタスクを達成したいと思っています。これを行う方法はありますか?

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

sql - SQL: ltree 内の値を更新するにはどうすればよいですか?

タイトルが示すように、複数の行の値を効率的に更新する方法を推測するのに苦労しています。列は data-type で実装されますltree。したがって、このデータ型で使用できる特別な操作の形式がいくつかあるはずですpostgresql。例を次に示します。

テーブルの名前、たとえば、product_sectionsこれらの値を含む列の名前はsection_path (type: ltree)

ここでは、データが次のようになるように、 のBrowserような部分だけを更新したいと思います。Foo

前もって感謝します :)

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

postgresql - utf8 文字セットの Postgres Ltree ラベルで有効な文字

Postgres Ltreeのドキュメントは言った

ラベルは、一連の英数字とアンダースコアです (たとえば、C ロケールでは文字 A-Za-z0-9_ が許可されています)。ラベルの長さは 256 バイト未満にする必要があります。

ただし、ロケールを「en_US.UTF-8」に設定した場合、Postgres Ltree で使用できる有効な文字は何かということはありません。では、Ltreeのラベルにダッシュ(ハイフン)を使用することはできますか?

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

postgresql - Postgres ltree をラベルのテーブルに結合するには?

製品カテゴリを保存するために一般的な Postgres ltree を使用する推奨される方法は何ですか?

たとえば、この列には、 、、およびがユーザーに表示できるカテゴリ ラベルのテーブルへの外部キー"1.2.3"であるなどの ltree パスを含めることができます。123

ここで、特定の製品について、そのカテゴリを選択し、 のように具体化したいと思い"Hardware > Computers > Video Cards"ます。

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

postgresql - postgresでltreeのすべてのブランチを計算する

私はこのような木を持っています:

私のデータベースには、次のレコードがあります。

パスから検索し、次のように、一致するブランチにないものを除いて、そのパスを計算するすべてのノードのすべてのレコードを取得します。

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

postgresql - マップを使用したpostgresqlのネストされた選択

私は次の構造を持っています:

次のように、パスを含むすべてのフォルダーを選択する必要があります。

これどうやってするの?ありがとう。sqlfiddle: http://sqlfiddle.com/#!15/6b974/12

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

django - djangoでモデルを作成する前に、postgresqlに拡張機能をインストールするにはどうすればよいですか?

django 1.8 + Postgres 9+ を使用して、カスタム PG データ型 (ltree など) を持つモデルがあります。ゼロからのデータベースの作成は失敗します。理由は次のとおりです。

実行されません。空の移行を試みますが、それはモデルの作成後に実行されます。モデルを作成する前に sql を実行する方法はありますか?

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

java - JPA Postgre クエリ ltree パス

Spring Boot と postgres の操作。データベースに階層データがあり、パスが ltree 列に格納されています。パスに基づいて特定のオブジェクトを取得しようとしていますが、データベースのクエリに問題があります。

モデルクラス:

リポジトリ クラス:

path という名前の文字列変数としてパスを渡す、コントローラーからの呼び出し:

desiredMember = familyRepository.findByPath(パス);

次のエラーが発生します。

f をテキストにキャストしようとしましたが、役に立ちませんでした。誰でも問題を解決する方法の手がかりを持っていますか?

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

java - Spring Data JPA + Hibernate + Postgresql LTree。1 つのクエリで特定のノードによってサブツリー全体をロードすることは可能ですか?

Spring Data JPA + Postgresql を使用しており、Postgresql LTree タイプを実装するエンティティ「Category」があり、次のようになります。

私の問題は、特定のノードから「リーフ」ノードにサブツリー全体をロードしたい場合です。Hibernate は、親と子のペアごとに 2 つの追加の選択を発行します。

この休止状態の動作を変更するにはどうすればよいですか?