問題タブ [postgres-fdw]
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.
postgresql - Postgres で外部テーブルのパーミッションを確認する方法
Postgres の外部テーブルのユーザー権限を確認する方法を知っている人はいますか?
\dE
とを試しまし\det
たが、うまくいきません。
誰が外部テーブルから選択、挿入、更新、削除できるか知りたいだけです。
python - SQLAlchemy が postgres_fdw に接続された Postgre テーブルを見つけられない
SQLite 以外のデータベースの経験があまりないため、用語のタイプミスをお許しください。データベースを2番目のデータベースにアタッチし、すべてのテーブルでクエリを実行できるSQLiteで行うことを複製しようとしています。SQLite で SQLAlchemy を使用していませんでした
Win7/54 で SQLAlchemy 1.0.13、Postgres 9.5、Python 3.5.2 (Anaconda を使用) を使用しています。postgres_fdw を使用して 2 つのデータベース (localhost 上) を接続し、セカンダリ データベースからいくつかのテーブルをインポートしました。PgAdminIII で SQL を使用し、psycopg2 を使用して Python から、接続されたテーブルを手動で正常にクエリできます。私が試したSQLAlchemyで:
そしてエラーを取得します:
それから私は試しました:
アタッチされたテーブルは表示されません (プライマリ データベースのテーブルは表示されます)。私が達成しようとしていることを行う方法はありますか?
sql - リモート クエリは、インデックスを使用して postgres_fdw で実行します
ここで 述べたpostgres_fdw
ように、インデックスにはアクセスできません。
回避策は、リモート サーバーでビューを作成してから、ローカル サーバーでこのビューの外部テーブル ラッパーを作成することです。
しかし、ビューにパラメーターを渡したい場合はどうすればよいでしょうか? 通常、私はそれを作成function(myparam)
しRETURNS TABLE()
ます。しかし、どのように呼び出すのpostgres_fdw
ですか?
この状況を解決するためのアイデアはありますか (dblink
必要ない場合は使用しないことをお勧めします)。
例
リモートデータベースで実行する次のようなクエリがあります。
ご覧のとおり、_my_date
内部にパラメーターがあります。
だから私は外部テーブルを作成my_remote_server_public.my_remote_server_public_foo
し、次のようなローカルデータベースから実行しました:
しかし、これを行うと、インデックスpostgres_fdw
にアクセスできないため、2〜3分続きます。foo
リモートデータベースで関数get_foo_by_date(_my_date date)
を作成し、ローカルデータベースから呼び出すことを考えましたpostgres_fdw
が、それが可能かどうかはわかりません...
アップデート
通常のビューを、内部に一定の日付を持つ外部テーブルとして処理すると仮定しましょう。
このビューは、リモート テーブルから ID のリストを返します。
リストされた行をリモート テーブルから削除し、これらをローカル テーブルにアーカイブしたいと考えています。
次のように呼び出すと:
5分間続きます...DELETE
クエリはインデックスにアクセスできないため...dblink
ここでも関数の呼び出しを使用する必要がありますか? 他の回避策はありますか?
postgresql - CSV ファイルからの PostgreSQL テーブルの更新
PostgreSQL テーブルの csv ファイルからデータを自動的に更新する方法を見つけようとしています。
csv ファイルには LabVIEW テスト データが含まれており、実行ごとに更新され、ローカル コンピュータに保存されます。
これまでのところ、2 つの方法を使用して csv からテーブル 'test1' にデータをインポートできます。
COPY コマンド
/li>外部データ ラッパー (file_fdw)
/li>
そこから、次を使用して test1 にデータを挿入できます
これは 1 回の更新では問題ありませんが、このプロセスを自動化する必要があります。トリガとトリガ関数を使用してみましたが、外部テーブルにトリガを作成できましたが、新しい LabVIEW テストを実行してもテーブルが更新されません。
file_fdw がトリガー機能をサポートしていないというフォーラムの投稿を読みましたが、最新バージョンの PostgreSQL (9.6) でこれを確認できる人はいますか?
外部テーブルまたは .csv ファイルから直接テーブルを自動的に更新する方法を知っている人はいますか?
database - postgres_fdw を使用して別のデータベースに挿入クエリを作成するにはどうすればよいですか?
実行したいクエリは次のとおりです。このクエリを実行している現在のデータベースは db1 であり、レコードを挿入するデータベースは db2 です。
ご覧のとおり、db1 (現在のデータベース) の従業員テーブルから値を選択し、db2 の従業員テーブルに挿入する必要があります。
クエリが間違っていることはわかっていますが、何をしようとしているのかを説明するために書いたところです。
postgres_fdw を使用してクエリを作成するにはどうすればよいですか?
このクエリを使用して、逆のことを試みました
編集:リモート挿入とローカル選択を行いたいことに注意してください。db1の代わりにローカルデータベースとしてdb2でクエリを実行すると、上記のクエリを使用してこれを達成できるようです
sql - postgres_fdw を使用してリモート データベースのテーブルを更新しているときに、ここで何をしていますか?
これが私がやっている方法です:
次のクエリを実行すると、テーブル mydb.employee が存在しないと表示されます。
sometable はローカルテーブルです。従業員テーブルはリモートデータベースにあります
postgresql - 外部テーブルに一意のインデックスを作成するにはどうすればよいですか?
データベース 1 には、データベース 2 に外部テーブル a と b があります。
これらの外部テーブル a と b にインデックスを作成するにはどうすればよいでしょうか。これらの外部テーブルは、それぞれ database2.c および database2.d テーブルのラッパーであり、必要なインデックスが配置されています。
外部テーブル a と b にどのようにインデックスを作成しますか? それは可能ですか?
postgres で単純な Create Index コマンドを実行すると、「外部テーブル a にインデックスを作成できません」というメッセージが表示されます