データベースからテーブルを削除しましたが、_YOURCLUSTERNAME.sl_tableから削除していません。
YOURCLUSTERNAMEの前に「_」をインポートしています。混乱を解決する
4 STEPS:
1. tab_relname = 'MYTABLENAME' とtab_nspnameは= 'MYSCHEMANAME'
_YOURCLUSTERNAME.sl_tableからtab_id
選択tab_idを取得それはMYDATABASEの番号2を返す
2.トリガーを削除する
選択_YOURCLUSTERNAMEaltertablerestore(2);
これはエラーを返す可能性があります。元のテーブルのトリガを削除しようとしているため、新しいテーブルがあります。 3.
を作成された場合(2)_YOURCLUSTERNAME.tableDropKeyを選択するのSlonyインデックスを削除。 これはエラーを返す可能性があります。 元のテーブルのインデックスを削除しようとしているため、新しいテーブルが作成されました。
4 tab_id = 2 _YOURCLUSTERNAME.sl_tableから削除sl_table
からテーブルを削除します。
テーブルをドロップするための最良の方法は次のとおりです。
1.ドロップテーブルをクラスタ構成:
選択tab_id _YOURCLUSTERNAME.sl_tableからtab_relname = 'MYTABLENAME' とtab_nspname =」をMYSCHEMANAME」
それはのslonik < myfileをして実行しMYDATABASE
に数2をreturna .slonik
ここで、myfile.slonikは次のとおりです。 cluster name = MYCLUSTER; NODE 1 ADMIN CONNINFO = 'dbname = DATABASENAME host = HOST1_MASTER user = postgres port = 5432'; NODE 2 ADMIN CONNINFO = 'dbname = DATABASENAME host = HOST2_SLAVE user = postgres port = 5432';
SET DROP TABLE(id = 2、origin = 1);
2 SQLのDROP表
とスレーブ
からテーブルHOST1_MASTER
2.ドロップ、sl_tableおよび1からtab_idがノード1であります