0

現在、Greenplum データベースをサーバーにインストールして実行しています。新しいハード ディスクを接続し、マスター ディレクトリとすべてのセグメント ディレクトリを単純にコピーしました。これは、新しいハード ディスク上のデータをデータベースに参照させたいためです。

環境変数 MASTER_DATA_DIRECTORY を新しいマスター ディレクトリを指すように変更しましたが、新しいセグメント データ ディレクトリを指す方法がわかりません。gpstart を実行すると、データベースが新しいハードウェア上のデータを指すように起動するように、新しいディレクトリを指すにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

デフォルトでは、Greenplum はディレクトリの移動をサポートしていません。しかし、それはこの方法で行うことができます:

  1. ディレクトリを移動し、古い場所に新しい場所へのシンボリック リンクを作成します。たとえば、以前に「/data/master」ディレクトリを使用して「/data2/master」に切り替えた場合、「/data/master」ディレクトリを簡単に削除して、シンボリック リンク「/data/master -> /data2/」に置き換えることができます。主人"
  2. より複雑で推奨されないアプローチ。Greenplum はファイル空間の場所を pg_filespace_entry テーブルに保存します。Greenplum を制限モードで開始し、このテーブルを編集し ("set allow_system_table_mods=DML; update pg_filespace_entry set ...")、Greenplum を停止する必要があります (停止に失敗する可能性があります。"pg_ctl -D stop" を使用して各セグメントを手動で停止する必要があります)。 )、ディレクトリを移動します

アプローチに関係なく、DB をバックアップする必要があります。これがテスト環境である場合は、「gpdeletesystem」で古いシステムを削除し、新しいディレクトリで新たに初期化することをお勧めします

于 2014-11-01T18:07:46.857 に答える