Si MySQL est probablement la base de données libre la plus populaire, du moins la plus connue, ce n'est pourtant pas, et de loin, la plus évoluée ni la plus puissante. En effet, PostgreSQL lui dame le pion sur bien des points. Comme ce n'est pas le sujet de cette note, je ne m'étendrai pas sur cette affirmation génératrice de bons gros trolls velus, mais je reste à la disposition de tout personne que ces propos auraient choqué, pour peu qu'elle se soit un tantinet renseignée sur le sujet avant de monter sur ses grands chevaux. Le site principal de PostgreSQL est un bon point de départ pour savoir de quoi on parle.
L'idée est de cette note est de détailler les étapes à suivre pour paramétrer Amarok afin qu'il gère dans une base PostgreSQL la liste des fichiers musicaux que vous avez téléchargés librement et légalement sur Jamendo, Dogmazic, Pragmazic, Magnatune, Revolution Sound Records…
Il faut bien évidemment commencer par installer les paquets ad hoc. Un serveur (logiciel) de bases de données est la base des architectures client-serveur traditionnelles. Pour les mettre en œuvre, il faut installer le logiciel serveur sur un ordinateur que l'on appellera … serveur (ce qui contribue à générer de la confusion entre les machines serveurs et les logiciels qui fournissent des services que ces machines hébergent). Et il faut également installer sur chaque poste client (une station de travail donc) la partie cliente de PostgreSQL, afin que celle-ci permette la connexion au serveur (de bases de données bien sûr, je sais que vous suivez
).
Ainsi, sur la machine serveur, il faudra installer les paquets postgresql-8.3, postresql-common et posgresql-client-8.3. Oui, on installe aussi le dernier paquet, dédié client, sur le serveur : d'une part les dépendances semblent l'exiger et d'autres parts, rien n'est plus conseillé que cela, afin de pouvoir administrer le serveur sur la machine où il tourne.
Sur le client, il suffira d'installer postgresql-client-8.3 et postgresql-client-common. Si vous n'avez pas plusieurs machines pour installer tout ça, ou que vous ne voulez ni contribuer au réchauffement climatique plus que de raison en faisant tourner plusieurs PC, ni plomber votre facture d'électricité, vous pouvez tout comme moi installer le tout sur une seule machine : ça marche très bien évidemment.
Une fois le logiciel installé, il nous reste la configuration. Allons-y…
Par défaut (sous Kubuntu), un utilisateur postgres est créé : il s'agit de l'administrateur de PostgreSQL. Il est à PostgreSQL ce que root est aux Unix. Pourquoi créer un deuxième compte alors, et ne pas confier à root le soin de gérer le moteur de bases de données ? Et bien parce qu'on ne mélange pas les torchons avec les serviettes ! (Les Sysadmins et les DBA feront leurs tris ;-)) Chaque discipline correspond chacune à tout un panel de compétences suffisamment touffues pour que l'on distingue clairement deux métiers : les administrateurs système et les administrateurs de bases de données. Mauvaise langue, je rajouterai que l'on peut encore en voir parfois, mais ils deviennent rares sous nos contrées à l'heure où de nombreux Directeurs de Service Informatique élaguent leur troupe à la faux, afin de donner du travail aux petits Indiens de Bengalore qui ne réclament que 200€ par mois. Ces DSI sont mêmes félicités chaudement par tel ministre ou tel sénateur pour contribuer au rapprochement culturel de nos deux pays. Quelle belle société que la nôtre, n'est-ce pas ? Mais revenons à nos moutons, je m'égare sur un sujet qui certes me tient à cœur mais qui me prend aussi la tête…
Il nous faut donc nous connecter en tant qu'utilisateur postgres. Sachant que root peut prendre l'identité de tout utilisateur et que notre Super-Utilisateur (le premier compte créé sur une Kubuntu) peut prendre l'identité de root, cela ne va pas être difficile. Voyons cela :
sunwukong@kubuntu:/tmp $ sudo -u postgres sh
[sudo] password for sunwukong:
postgres@kubuntu:/tmp $
Une fois connecté sous postgres, on crée un nouvel utilisateur : amarok
postgres@kubuntu:/tmp $createuser -DRS amarok
On crée ensuite une base de données amarokDB que l'on dédiera à l'application Amarok :
postgres@kubuntu:/tmp $createdb -O amarok amarokDB
Il ne reste alors plus qu'à renseigner les différents champs dans l'écran de paramétrage d'Amarok :

Bonne écoute :-) !