Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / Bases de données / Simplifier l'administration d'un serveur PostgreSQL avec pgsql-tools

Simplifier l'administration d'un serveur PostgreSQL avec pgsql-tools

Par Pierre-Yves Landuré Dernière modification 04/06/2014 15:07

pgsql-tools est un script que j'ai créé dans le but de simplifier et d'automatiser l'administration courante d'un serveur PostgreSQL. Ce guide présente comment le mettre en place et donne quelques exemples d'utilisation.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Prérequis

Ce guide recommande:

Installation

Installez le client PostgreSQL et le générateur de mots de passe apg:

command apt-get install postgresql-client apg

Installez le script pgsql-tools:

command wget "https://raw.github.com/biapy/howto.biapy.com/master/postgresql/pgsql-tools" \
    --quiet --no-check-certificate --output-document="/usr/local/bin/pgsql-tools"
command chmod +x "/usr/local/bin/pgsql-tools"

Remarque : Cet outil est encore en cours d'élaboration, ses fonctionnalités seront améliorées petit à petit.

Présentation de pgsql-tools

Convention de nommage

Voici une proposition de convention de nommage des bases de données.

La décomposition du nom de base de données "ttrss_rss.domaine.com" est:

  • ttrss_ : Code de l'application hébergée (ici, Tiny Tiny RSS). Permet de regrouper les bases de données par application dans PHPPgAdmin.
  • rss.domaine.com : Nom de domaine où est hébergée l'application utilisant la base de données.

Le nom d'utilisateur pour la base "ttrss_rss.domaine.com" est "t_rss.domaine.com" ou :

  • t_ : Première lettre du code d'application (ici t_ est la première lettre de ttrss_).
  • rss.domaine.com : Nom de domaine où est hébergée l'application utilisant la base de données.

Utilisation

Créer la base de données "MA_BASE" et l'utilisateur "ma_base":

# pgsql-tools --create MA_BASE

Créer la base de données "MA_BASE" avec accès depuis host1 et host2 sur le réseau (en plus de localhost):

# pgsql-tools --host="host1" --host="host2" --create="MA_BASE"

Créer un utilisateur sans aucun privilèges (pour Nagios par exemple):

# pgsql-tools --adduser="mon_utilisateur"

Supprimer un utilisateur:

# pgsql-tools --deluser="mon_utilisateur"

Supprimer toutes les tables de la base de données "MA_BASE":

# pgsql-tools --empty="MA_BASE"

Supprimer une base de données et son utilisateur dédié:

# pgsql-tools --drop="MA_BASE"

Obtenir de l'aide sur l'utilisation avancée de l'outil:

# pgsql-tools --help

Remerciements