Spostamento di spazi tabelle Postgres e tavoli in tutta istanza EC2
-
30-09-2019 - |
Domanda
Ho Postgres database in esecuzione su un'istanza Amazon EC2. Ho pochi spazi tabella creata per alcune tabelle mensili, in modo tale che ogni tavolo è in tablespace individuale. Per ottenere il massimo delle prestazioni, ho creato ogni spazio tabella sul volume amazon individuale EBS.
Voglio spostare alcune di queste tabelle per diversa istanza e il database. Spiegherò con un esempio. Diciamo.
-
Ho EC2 esempio con una configurazione postgres come spiegato sopra.
-
Ho un altro esempio Amazon B correre e ho installato postgres su di esso pure.
-
Voglio creare la stessa struttura della tabella per alcune delle tabelle presenti in una su B. Voglio staccare i volumi da esempio A e collegarlo a un'istanza B.
-
Inoltre, voglio creare spazi tabelle su esempio B, che punterà alla volumi appena collegato.
-
E quando inizio a questa nuova creazione Postgres, mi aspetto di vedere le tabelle popolate con i dati di quei volumi (database).
-
alla fine ho eliminerà quei tavoli da A
Lo so mi viene arrugginito per iscritto, ma non riusciva a trovare un modo migliore per fare la domanda.
E 'qualcosa in questo senso è possibile? Ci sono dei punti di riferimento per realizzare qualcosa di simile?
Soluzione
No.
I dati nella directory di spazio tabelle è solo i dati. È inoltre necessario i metadati che c'è nella tabelle nello schema pg_catalog, così come le informazioni provenienti da pg_clog e pg_xlog per accedervi.
Se si desidera spostare le cose attraverso utilizzando i volumi, è necessario spostare l'intera installazione in una sola volta (tutti gli spazi tabella, compreso pg_default). In caso contrario, è necessario utilizzare pg_dump / pg_restore per trasferire i dati sopra.