2012-03-06 1 views
7

Sono in un nuovo progetto e ora devo lavorare con un database PostgreSQL esistente. L'applicazione è costruita con CakePHP. Il problema che sto affrontando durante l'importazione è che la dimensione del file del database è di circa 4,8 GB e sono totalmente nuovo a PostgreSQL.Come importare un file enorme in PostgreSQL?

Ho lavorato su MySql e NoSqls ma PostgreSQL sembra essere una parte difficile per me. Ho anche provato a importare il file tramite Console, ma ancora non è riuscito. Sto usando PostgreSQL su Ubuntu (Core i3). Per favore aiutami a uscire da questo.

Grazie in anticipo.

Nishant Shrivastava

+0

Che formato è il file in? Come stavi cercando di fare l'importazione e qual'era l'errore che hai ricevuto alla console? Qual è lo schema del tuo database? –

+3

Si tratta di un dump completo del database (schema + dati) che si desidera ripristinare o solo dei dati che si desidera inserire? Il file contiene istruzioni 'INSERT' o' COPY'? Su quale versione di PostgreSQL stai lavorando? – tscho

+3

"* ma ancora non riuscito *" non è un messaggio di errore PostgreSQL valido –

risposta

5

ci sono più possibilità

psql yourdb -f yourfile 
psql yourdb < yourfile 
cat yourfile | psql yourdb 

psql yourdb 
\i yourdb 
+0

ho circa 8 GB di file sql e tutti questi comandi che mi restituiscono il messaggio "fuori memoria" –

+0

, per favore ricontrollare la configurazione di postgresql - principalmente 'work_mem' e' maintenance_work_mem'. Di seguito sono importanti la configurazione della gestione virtuale del sistema operativo, ad esempio 'overcommit_ratio' su Linux. Forse i tuoi Postgres hanno troppa poca memoria dal tuo o.s. –

+0

ho controllato queste configurazioni nel mio postgresql.conf, #work_mem = 1MB, #maintenance_work_mem = 16MB Devo cambiarle, se sì, a cosa? –