Arborescence des pages

Vous regardez une version antérieure (v. /wiki/display/SIGN/PostgreSQL) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 7) afficher la version suivante »

L'ensemble des données est stocké dans une base de données, images comprises, cela nous a ammené à utiliser PostgreSQL (et non MySQL) pour ses possibilités de streaming sur les blobs.

Exemple sous debian :

apt install postgresql

dans /etc/postgresql/<XX>/main/pghba.conf ajout de :

host    all all     127.0.0.1/32    password

Redémarrage de postgresql

systemctl restart postgresql.service

Création de la base :

su postgres
psql
create database esupsignature;
create USER esupsignature with password 'esup';
grant ALL ON DATABASE esupsignature to esupsignature;


L'application a été développée avec la fonction de lecture/écriture des blobs dans une transaction par streaming de PostgreSQL.

Pour une bonne gestion des blob de cette application, il faut ajouter dans PostgreSQL un trigger sur la base de données sur la table big_file. La fonction lo_manage est nécessaire ici.

Sous debian :

apt-get install postgresql-contrib

Puis la création de l'extension lo se fait via un super-user:

psql
\c esupsignature
CREATE EXTENSION lo;

Et enfin ajout du trigger, ceci après avoir démarré un première fois esup-signature pour que les tables soit crées : 

CREATE TRIGGER t_big_file BEFORE UPDATE OR DELETE ON big_file FOR EACH ROW EXECUTE PROCEDURE lo_manage(binary_file);


CF https://www.postgresql.org/docs/11/static/lo.html


  • Aucune étiquette