Installer PostgreSQL sur Debian
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:
- Simplifier l'administration d'un serveur PostgreSQL avec pgsql-tools.
- Installer PHPPgAdmin sur Debian.
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:
- PostgreSQL - Administration et exploitation d'une base de données (2ème édition)
- Beginning Databases with PostgreSQL: From Novice to Professional, Second Edition
- PostgreSQL administration
- Postgresql 9 Administration Cookbook
- Bases de données PostgreSQL 9.0 - Gestion des performances
- PostgreSQL 9.0 High Performance
- PostGIS in Action
Remerciements
- Merci aux développeurs de PostgreSQL.