PostgreSQL & Rails
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 rails | no comments |
RAILS sur PostgreSQL pour léopard
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 rails | no comments |