Domanda

Ho giocato in giro con PostgreSQL ultimamente, e sto avendo difficoltà a capire come il backup e il ripristino di una singola tabella.

Ho usato pgadmin3 per il backup una singola tabella nel mio database, al fine di copiarlo su un altro server. Quando provo a fare un pg_restore sul file, vengono visualizzati messaggi di errore che dice che la sequenza non esiste:

pg_restore: [archiver (db)] could not execute query: ERROR:  relation "businesses_id_seq" does not exist
    Command was: 
CREATE TABLE businesses (
    id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
    name character varyin...

Sembra che il file di immagine non ha incluso la sequenza per la mia auto l'incremento colonna. Come faccio a farlo per includere questo?

È stato utile?

Soluzione

dumping da parte unico tavolo - scaricherà solo la tabella. È necessario scaricare la sequenza separatamente in aggiunta alla tabella.

Se non conoscete la vostra sequenza è possibile elencare con \d yourtable in psql. Si vedrà qualcosa nella riga sequenza è su che assomiglia: nextval('yourtable_id_seq'::regclass')

Poi dalla riga di comando, pgdump -t yourtable_id_seq

http://www.postgresql.org/docs/9.0/ static / app-pgdump.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top