Preskoči na vsebino

Brisanje baze Odoo

deletedb trajno izbriše bazo PostgreSQL in pripadajočo shrambo filestore, če obstaja. Ime se namenoma razlikuje od PostgreSQL dropdb.

./deletedb --dry-run example_copy
./deletedb example_copy
./deletedb --yes --filestore /path/to/data/filestore example_copy

Brez --yes ali -y morate ob potrditvi vnesti točno ime baze. --dry-run preveri in prikaže cilje brez brisanja. Pri zagonu po poti ni potrebna namestitev na gostitelju.

Privzeti koren filestore je /srv/pmiverse/_pmisuite18/data/filestore. Nadomestite ga z FILESTORE_BASE ali --filestore, pri čemer zmaga možnost CLI. Odstrani se samo <root>/<database>, nikoli koren. Manjkajoča shramba ali koren sta dovoljena. Simbolne povezave v ciljni poti in cilji, ki niso mape, so zavrnjeni. Povezave znotraj shrambe se odstranijo brez sledenja. GNU rm --one-file-system prepreči sestop na druge naprave; priklopljenih map ne uporabljajte kot ciljev.

Povezave uporabljajo običajne spremenljivke PostgreSQL, tudi PGHOST, PGPORT, PGUSER in PGPASSFILE, ter vzdrževalno bazo postgres. Skripta ne bere konfiguracije Odoo in ne poziva za gesla PostgreSQL. Uporabite lastnika baze ali pooblaščenega superuporabnika PostgreSQL ter sistemski račun s pravico brisanja shrambe. Potrebni so Bash, odjemalci PostgreSQL in GNU coreutils. postgres, template0 in template1 so zaščitene baze.

Pred brisanjem ustavite Odoo, zaprite povezave in zagotovite potrebno varnostno kopijo. Skripta ne ustavlja storitev ali prisilno zapira povezav. Na cilju ne izvajajte sočasnih operacij baze ali shrambe. Pri oddaljeni povezavi PostgreSQL izrecno preverite, da lokalni koren filestore pripada temu strežniku in bazi.

Najprej se izbriše baza. Če to ne uspe, filestore ostane nedotaknjen. Manjkajoča baza je napaka in osirotela shramba se ohrani. Dopolnilno čiščenje osirotelih shramb odstranjuje samo shrambe brez ustreznih lokalnih baz.

Ukaz zavrne tudi brisanje shrambe, katere identiteta mape se med operacijo spremeni. Če po izbrisu baze odpove odstranjevanje datotek, skripta baze ne more obnoviti; sporoči napako in ohrani preostale datoteke za ročni pregled. Brisanje ni atomarno med PostgreSQL in datotečnim sistemom. Tudi prekinitev lahko pusti shrambo na disku.

Dopolnjevanje Bash

Skupno dopolnjevanje podpira možnosti, mape filestore in trenutna imena baz z enako trisekundno omejitvijo ter rezervnim registrom kot podvajanje. V seji Bash z nameščenim bash-completion ga naložite tako:

source /usr/share/bash-completion/bash_completion
source /srv/pmiverse/_pmiconfig/scripts/completion/pmiverse-completion.bash