Fr:Issues/Wrong table owner

Les Symptômes
Si vous voyez quelques chose comme ci-dessous, il semble que par le passé vous n'ayez utilisé le script 'update-davical-database' en tant que super-utilisateur de la base de donnée et non pas avec "--dbuser davical_dba".

The database is version 8.4 currently at revision 1.2.7. Applying patch 1.2.8.sql ... succeeded. Successfully applied 1 patches. Supported locales updated. Updated view: dav_principal.sql applied. CalDAV functions updated. RRULE functions updated. DBD::Pg::db do failed: ERROR: permission denied for relation principal at ./update-davical-database line 400,  line 34. DBD::Pg::db do failed: ERROR: permission denied for relation sync_tokensat ./update-davical-database line 400,  line 36. DBD::Pg::db do failed: ERROR: permission denied for relation sync_changes at ./update-davical-database line 400,  line 37. DBD::Pg::db do failed: ERROR: permission denied for relation grants at ./update-davical-database line 400,  line 38. DBD::Pg::db do failed: ERROR: permission denied for relation dav_principal at ./update-davical-database line 400,  line 39. DBD::Pg::db do failed: ERROR: permission denied for sequence sync_tokens_sync_token_seq at ./update-davical-database line 400,  line 48. Database permissions updated.

Régler le Problème
Le problème peut être régler en faisant:

Premièrement, en tant que root, devenir l'utilisateur postgres (ou un autre super-utilisateur de la BDD) et connectez vous à la base davical: su - postgres psql davical \d

Cela listera toutes les tables avec une colonne 'Owner' (propriétaire) qui sera fausse pour certaines tables.

Maintenant quittez psql et corriger les permissions pour ces tables avec:

update-davical-database --nopatch --dbuser postgres --owner davical_dba

Vous pouvez maintenant cessez d'être un super-utilisateur de BDD et retourner lancer update-davical-database depuis l'emplacement habituel pour confirmer qu'il est possible de définir les permissions pour l'utilisateur davical_app correctement.