----- Mail original ----- > De: "Jean-Michel OLTRA" <[email protected]> > À: [email protected] > Envoyé: Mercredi 17 Janvier 2018 00:24:42 > Objet: Re: comment adapter la syntaxe pour PgSQL > > > Bonjour, > > > Le mardi 16 janvier 2018, Bernard Schoenacker a écrit... > > > > mysql -u root -p > > su - postgres > > > mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY > > 'mot_de_passe'; > > Perso, je crée un utilisateur ayant mon login (jm) et je me mets > proprio > (owner) de mes bases > > Toujours en user postgres : > > createuser -P bernard > createuser --pwprompt --no-createdb --no-createrole --no-superuser > postfix > createdb --encoding=utf8 --owner=bernard postfix > > > mysql> GRANT USAGE ON * . * TO 'postfix'@'localhost' IDENTIFIED BY > > 'mot_de_passe'; > > mysql> CREATE DATABASE `postfix` ; > > mysql> GRANT ALL PRIVILEGES ON `postfix` . * TO > > 'postfix'@'localhost'; > > mysql> FLUSH PRIVILEGES; > > mysql> quit > > > // > > CREATE USER 'postfix'@'localhost' IDENTIFIED BY '***'; > > > GRANT USAGE ON * . * TO 'postfix'@'localhost' IDENTIFIED BY '***' > > WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 > > MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; > > > GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost'; > > > // importer les tables postfix ou : > > USE postfix; > > CREATE TABLE `domaines` ( > > `domaine` varchar(255) NOT NULL default '', > > `etat` tinyint(1) NOT NULL default '1', > > PRIMARY KEY (`domaine`) > > ) ENGINE=InnoDB; > > CREATE TABLE `comptes` ( > > `email` varchar(255) NOT NULL default '', > > `password` varchar(255) NOT NULL default '', > > `quota` int(10) NOT NULL default '0', > > `etat` tinyint(1) NOT NULL default '1', > > `imap` tinyint(1) NOT NULL default '1', > > `pop3` tinyint(1) NOT NULL default '1', > > PRIMARY KEY (`email`) > > ) ENGINE=InnoDB; > > CREATE TABLE `alias` ( > > `source` varchar(255) NOT NULL default '', > > `destination` text NOT NULL, > > `etat` tinyint(1) NOT NULL default '1', > > PRIMARY KEY (`source`) > > ) ENGINE=InnoDB; > > Si 'bernard' est propriétaire de la base, tu peux te connecter dessus > avec : > psql postfix > puis > postfix # grant select, update, delete, insert on domaines to > postfix; > postfix # grant select, update, delete, insert on comptes to postfix; > postfix # grant select, update, delete, insert on alias to postfix; > > En fonction des nécessités, tu supprimes des droits dans ce que j'ai > indiqué. Je suppose que postfix aura besoin du select. Mais du > insert, > update, delete ? > > Pour la création de table, je pense que c'est pareil, à part que tu > évites > le engine=InnoDB à la fin ! > > > INSERT INTO `postfix`.`comptes` ( `email` , `password` , `quota` , > > `etat` , `imap` , `pop3` ) VALUES ('[email protected]', > > ENCRYPT( 'mon_beau-mot-de-passe' ) , '0', '1', '1', '1'); > > Il faut ajouter l'extension pgcrypto à la base. > > su - postgres > psql postfix > postfix= #create extension pgcrypto > > Mais le crypt() de postgresql prend un 'salt' en plus comme argument > : > select crypt('le-mot-de-passe', 'le-salt'); > Je ne sais pas si tu peux l'utiliser ? > > > service mysql reload > > service postgresql reload > > > INSERT INTO `postfix`.`alias` ( `source`, `destination` , `etat` ) > > VALUES ('[email protected]', > > '[email protected]', '1'); > > ok. > > Question bête: pourquoi vouloir passer de mariadb à postgres ? > > -- > jm >
bonjour, la doc officielle de mailman3 passe à pgSQL, et par conséquence je bascule vers pgsql slt bernard

