Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

[10] dump/restore Database

Avatar
Giuseppe Flammia

Ciao a tutti, 

ho una questione con Odoo 10: vorrei capire come effettuate il dump e il restore. 

Fino ad oggi, ho sempre utilizzato le funzioni di backup e ripristino dalla pagina web /web/database/manager

Adesso sto iniziando ad avere problemi con il ripristino di un file da 3 gb. 

Qualcuno mi può aiutare nell'uso di pg_dump e pg_restore con degli esempi di linea di comando ?

Avatar
Abbandona
1 risposta
1
Avatar
Luigi Di Naro
Migliore risposta

pg_dump --no-owner  --file dump_name.sql db_name

psql -U db_user db_name < dump_name.sql

Ma fai attenzione che questo non ripristina il filestore a differenza del backup web che inserisce anche quello e lo ripristina. Dovrai copiare la cartella del filestore e ripristinarla prima di avviare odoo sul nuovo db appena importato.

Per database di 3g (ma anche molto meno) la procedura web non e' usabile, ed in generale e' meglio procedere con uno script apposito. Metti in uno script .sh i due comandi di sopra e la copia tar.gz (o quel che ti pare) del filestore. Oltretutto la copia via web funziona solo con filestore su filesystem o postgress se usi altri engine non va.

Non a caso ormai per abitudine la disabilito :D

Avatar
Abbandona
0
Avatar
Luigi Gregori
Migliore risposta

mi incuriosito il finale della risposta "se usi altri engine"... che altri engine sono utilizzabili?


LG

Avatar
Abbandona
0
Avatar
Luigi Di Naro
Migliore risposta

OPS ... mi ero perso la domanda.

Esistono implementazioni dello starage (filestore) per per PostgresLOB, Amazon S3, OpenSwift e diversi altri posso immaginare. Implementare un nuovo storage non e' complicato se si tengono conto alcune delle piccole stranezze di odoo (non tutto passa sempre per le api pubblici di ir.attachment).

Io ad esempio ho implementato lo store su google bucket (gcloud storage) che uso su tutte le istanze di produzione. Il vantaggio di avere uno storage esterno (non filesystem) oltre ad una migliore gestione dello spazio è la possibilita', combinata con lo storage delle sessioni su redis o analogo, di poter usare piu' istanze di odoo che servono lo stesso database e scalarle di conseguenza.

Lo svantaggio, se si esclude l'utilizzo dei LOB, l'impossibilita' di usare gli strumenti web di odoo per l'import e l'export del database. Poca roba se si considerano i limiti di questo strumento.

Avatar
Abbandona
0
Avatar
Giuseppe Flammia
Migliore risposta

Al momento ho deciso di agire in questa maniera: 

Faccio il dump da WEB e poi ripristino. 

Ma prima di avviare di nuovo il server lancio un comando che mi ha condiviso @Baggio sul gruppo telegram

"DELETE FROM ir_attachment WHERE datas_fname SIMILAR TO '%.(css|js|less)';"

Questo comando sul DB, permette l'avvio del server anche senza la cartella di ripristino. 

Avatar
Abbandona