Vous êtes ici : Accueil / Debian GNU/Linux / Serveurs / Bases de données / Installer PostgreSQL sur Debian

Installer PostgreSQL sur Debian

Par Pierre-Yves Landuré Dernière modification 11/11/2017 10:29

PostgreSQL est un système de gestion de bases de données libres très puissant. D'un certain point de vue, on peut le considérer comme le Oracle du monde libre. L'une de ses fonctionnalités est le support des données de géolocalisation. Cet article facilite l'installation de PostgreSQL sur Debian.

Ce guide est testé sur:

  • Debian 5.0 Lenny
  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Installation

Installez le serveur et un générateur de mots de passe:

command apt-get install postgresql apg

Générez le mot de passe du compte d'administration "postgres" (équivalant à l'utilisateur "root" de MySQL):

PGSQL_PWD="$(command apg -q -a  0 -n 1 -M NCL)"

Affichez le mot de passe obtenu, et conservez le précieusement:

command echo "Votre mot de passe pour l'utilisateur postgres de PostgreSQL sera : '${PGSQL_PWD}'."

Assignez le mot de passe au compte postgres du serveur PostgreSQL:

command su postgres -c "command psql -c \"ALTER USER postgres PASSWORD '${PGSQL_PWD}';\""

Créez le langage PLPGSQL:

command su postgres -c "command createlang 'plpgsql' 'template1'"

Le serveur PostgreSQL est prêt.

Outil d'administration simplifiée

Ce guide recommande:

Rendre PostgreSQL accessible depuis le réseau

Attention: La manipulation décrite dans ce paragraphe peut générer une faille de sécurité. Ne la mettez en place que si vous devez disposer d'un accès à une base PostgreSQL présente sur votre serveur depuis un autre ordinateur du réseau.

Rendez PostgreSQL accessible depuis le réseau:

# command find '/etc/postgresql' -name 'postgresql.conf' -print0 \
| command xargs -0 -iFILE \
sed -i -e "s/^[# ]*\\(listen_addresses[ ]*=[ ]*'\\)[^']*\\('.*\\)$/\\1*\\2/" FILE

Redémarrez le serveur:

test -x /etc/init.d/postgresql-8.2 && /etc/init.d/postgresql-8.2 restart
test -x /etc/init.d/postgresql-8.3 && /etc/init.d/postgresql-8.3 restart
test -x /etc/init.d/postgresql && /etc/init.d/postgresql restart

Sauvegardes

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian).

Configurez Backup Manager pour sauvegarder nos bases de données PostgreSQL. Créez un pipe personnalisé sauvegardant le résultat de la commande pgsql_dumpall:

CURRENT_PIPE_NUMBER=$(command grep -e "^[\t ]*BM_PIPE_COMMAND\[" "/etc/backup-manager.conf" \
    | command sed -e 's/.*\[\([0-9]*\)\].*/\1/')
PIPE_NUMBER=$((${CURRENT_PIPE_NUMBER}+1))
command test -z "${CURRENT_PIPE_NUMBER}" && PIPE_NUMBER=0
command sed -i -e "/export BM_PIPE_COMMAND/i\\
\\
# Pipe backuping PostgreSQL databases.\\
BM_PIPE_COMMAND[${PIPE_NUMBER}]='/bin/su postgres -c /usr/bin/pg_dumpall'\\
BM_PIPE_NAME[${PIPE_NUMBER}]='postgresql'\\
BM_PIPE_FILETYPE[${PIPE_NUMBER}]='sql'\\
BM_PIPE_COMPRESS[${PIPE_NUMBER}]='bzip2'\\
" "/etc/backup-manager.conf"

Activez la sauvegarde des "Pipes":

command sed -i -e 's/[#]*\(.*BM_ARCHIVE_METHOD=.*".*\)"$/\1 pipe"/' \
    "/etc/backup-manager.conf"

Références

Ces livres peuvent vous aider:

Remerciements