3

Amazon EC2 インスタンスで postgres データベースを実行しています。各テーブルが個々のテーブルスペースにあるように、いくつかの月次テーブル用に作成されたテーブルスペースがほとんどありません。最大のパフォーマンスを得るために、個々の amazon ebs ボリュームに各テーブルスペースを作成しました。

このテーブルの一部を別のインスタンスとデータベースに移動したいと考えています。一例を挙げて説明します。まあ言ってみれば。

  1. 上記で説明したように、postgres セットアップを備えた EC2 インスタンス A があります。

  2. 別の Amazon インスタンス B を実行しており、そこにも postgres をインストールしました。

  3. A に存在するいくつかのテーブルに対して同じテーブル構造を B に作成したいと考えています。インスタンス A からボリュームを切り離し、それをインスタンス B に接続したいと考えています。

  4. また、新しく接続されたボリュームを指すインスタンス B にテーブルスペースを作成したいと考えています。

  5. そして、この新しく作成された postgres を起動すると、それらのボリューム (データベース) からのデータがテーブルに取り込まれていることが期待できます。

  6. 最後に、これらのテーブルを A から削除します

私は文章がさびていることを知っていますが、質問をするためのより良い方法を見つけることができませんでした.

これらの線に沿った何かが可能ですか? このようなことを達成するための指針はありますか?

4

1 に答える 1

1

いいえ。

表領域ディレクトリ内のデータはデータのみです。また、pg_catalogスキーマのテーブルにあるメタデータと、それにアクセスするためのpg_clogおよびpg_xlogからの情報も必要です。

ボリュームを使用して物事を移動する場合は、インストール全体を一度に移動する必要があります(pg_defaultを含むすべてのテーブルスペース)。それ以外の場合は、pg_dump/pg_restoreを使用してデータを転送する必要があります。

于 2010-08-20T22:08:58.317 に答える