PostgreSQL & Rails

Posted by Fabien Jakimowicz Sat, 10 May 2008 10:13:00 GMT

Après migration sur PostgreSQL et discussions avec koollman connaissant bien cette base de données, j’ai pu faire quelques optimisations. L’authentification installée par défaut avec macports se fait par la méthode ‘trust’, ce qui permet à tous les utilisateurs locaux passant par une socket de se faire passer pour un autre utilisateur.

En passant sur une authentification ‘ident sameuser’, on se protège donc de cette faille et cela permet toujours d’accéder à la base de données sans mot de passe. Modifiez ceci dans le fichier pg_hba.conf dont le path est /opt/local/var/db/postgresql83/defaultdb/pg_hba.conf :

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               ident sameuser

 

On précise au serveur qu’il faut reload le fichier :

$> sudo su postgres
$> pg_ctl reload -D /opt/local/var/db/postgresql83/defaultdb

 

La création de l’utilisateur en super-utilisateur peut se faire en utilisateur normal ayant le droit de créer des base de données. Le script createuser posera les questions sans que vous ayez à spécifier de flag avec la commande.

Enfin, une entrée database.yml peut maintenant être simplifiée : l’utilisateur / mot de passe ainsi que l’hostname ne sont plus nécessaire.

development:
  adapter: postgresql
  encoding: utf8
  database: my_great_project_development

Posted in | no comments |

RAILS sur PostgreSQL pour léopard

Posted by Fabien Jakimowicz Fri, 09 May 2008 11:57:00 GMT

 Vous avez déjà franchi le pas du système d’exploitation en passant sur un vrai système pleinement utilisable en tant que développeur mais aussi utilisateur final voulant du fonctionnel sans taper 15k commandes, c’est bien.

Vous avez aussi fait l’étape d’arrêter d’essayer de refaire le monde avec votre framework web et utilisez un vrai framework objet comme il se doit, c’est bien.

Il ne reste plus qu’à faire de même avec votre base de données. Seul soucis, mysql (voir sqlite) est agréable par sa simplicité et son zeroconf ou presque. Mais installer postgreSQL n’est pas si difficile que cela … en quelques étapes. De plus, RoR offrant maintenant des rake tasks pour créer et supprimer les base de données, vous n’aurez pas ou presque pas de commande spécifique à mémoriser.

Posted in | no comments |