« Deploy/SpaceWalk/PostgresqlSetup » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « = Setup of the PostgreSQL database = You should have PostgreSQL server running somewhere. Let's assume you will run the server on the same machine as Spacewalk itself: ... ») |
Aucun résumé des modifications |
||
| (3 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
[[Fichier:LogoSpacewalk.svg|right]] | |||
''' Setup of the PostgreSQL database ''' | |||
= | ==== Installation de PostgreSQL ==== | ||
Installation via les RPM | |||
* Pour '''RHEL 5''' et '''CentOS 5'''<pre>yum install postgresql84-server postgresql84-pltcl postgresql84-contrib</pre> | |||
* Pour les '''versions supérieures'''<pre>yum install postgresql-server postgresql-pltcl postgresql-contrib</pre> | |||
Initialisation et lancement automatique au démarrage | |||
* Pour '''Fedora'''<pre>postgresql-setup initdb</pre><pre>systemctl enable postgresql</pre><pre>systemctl start postgresql</pre> | |||
* Pour '''les autres'''<pre>chkconfig postgresql on</pre><pre>service postgresql initdb</pre><pre>service postgresql start</pre> | |||
==== Creation de la base de données, de l'utilisateur ajout du langage plpgsql ==== | |||
<pre> | <pre> | ||
su - postgres | |||
createdb -E UTF8 spaceschema | |||
createlang plpgsql spaceschema | |||
createlang pltclu spaceschema | |||
createuser -P -sDR spaceuser | |||
exit | |||
su - postgres | |||
</pre> | </pre> | ||
===== Configuration de l'utilisateur ===== | |||
< | On configure l'utilisateur pour qu'il utilise un mot de passe md5 afin de se connecter à la base de données. Ajout des lignes suivantes au fichier <path>/var/lib/pgsql/data/pg_hba.conf</path>. | ||
{{Admon/important|Emplacement des lignes dans le fichier|Ces lignes doivent être ajoutés avant les définitions de connexion par défaut, c'est à dire avant les lignes commençant par ''all'''.}} | |||
<pre> | <pre> | ||
| Ligne 31 : | Ligne 31 : | ||
local spaceschema postgres ident | local spaceschema postgres ident | ||
</pre> | </pre> | ||
{{Admon/note|Acceptation des connexions TCP|On doit aussi accepter les connexions TCP, car le driver ''JDBC'' ne peut pas utiliser de socket unix. Donc, même si les couches en Python ou en Perl utilise cette socket dans le cas où l'hôte n'est pas spécifié, ''JDBC'' continuera à utiliser localhost comme nom d'hôte.}} | |||
{{Admon/tip|Serveur de base de données externe à Spacewalk|Dans le cas d'un serveur de base de données externe à notre serveur Spacewalk, il faut aussi définir une autorisation pour celui-ci, du style | |||
<pre>host spaceschema spaceuser 192.168.0.1/32 md5</pre>Il faut aussi faire écouter le serveur Postgresql sur l'interface LAN, car par défaut, il n'écoute que sur la boucle locale. Pour ce faire, on édite le fichier <path>/var/lib/pgsql/data/postgresql.conf</path> pour ajouter/modifier la ligne<pre>listen_addresses = '*'</pre> | |||
Il faut, en outre, installer le paquet <package>postgresql-contrib</package> (ou <package>postgresql84-contrib</package> pour RHEL 5 ou CentOS 5) sur le serveur Postgresql.}} | |||
===== Prise en compte des modifications ===== | |||
On force PostgreSQL à rafraichir sa configuration, ou on le redémarre. | |||
<pre>service postgresql reload</pre> | |||
==== Test de connexion ==== | |||
<pre> | <pre> | ||
| Ligne 45 : | Ligne 46 : | ||
</pre> | </pre> | ||
==== Tuning PostgreSQL ==== | |||
Amélioration des performances de PostgreSQL avec l'utilitaire <app>pgtune</app> | |||
<pre> | <pre> | ||
yum install pgtune | |||
pgtune --type=web -c 600 -i /var/lib/pgsql/data/postgresql.conf >/tmp/pgtune.conf | |||
</pre> | </pre> | ||
Visualisation et application des améliorations | |||
<pre> | <pre> | ||
diff -u /var/lib/pgsql/data/postgresql.conf /tmp/pgtune.conf | diff -u /var/lib/pgsql/data/postgresql.conf /tmp/pgtune.conf | ||
cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bak | cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bak | ||
| Ligne 77 : | Ligne 62 : | ||
</pre> | </pre> | ||
ou simplement restreindre le nombre maximum de connexions à 600 | |||
<pre> | <pre> | ||
echo max_connections = 600 >>/var/lib/pgsql/data/postgresql.conf | echo max_connections = 600 >>/var/lib/pgsql/data/postgresql.conf | ||
</pre> | </pre> | ||
Dernière version du 14 août 2013 à 13:59
Setup of the PostgreSQL database
Installation de PostgreSQL
Installation via les RPM
- Pour RHEL 5 et CentOS 5
yum install postgresql84-server postgresql84-pltcl postgresql84-contrib
- Pour les versions supérieures
yum install postgresql-server postgresql-pltcl postgresql-contrib
Initialisation et lancement automatique au démarrage
- Pour Fedora
postgresql-setup initdb
systemctl enable postgresql
systemctl start postgresql
- Pour les autres
chkconfig postgresql on
service postgresql initdb
service postgresql start
Creation de la base de données, de l'utilisateur ajout du langage plpgsql
su - postgres createdb -E UTF8 spaceschema createlang plpgsql spaceschema createlang pltclu spaceschema createuser -P -sDR spaceuser exit
Configuration de l'utilisateur
On configure l'utilisateur pour qu'il utilise un mot de passe md5 afin de se connecter à la base de données. Ajout des lignes suivantes au fichier <path>/var/lib/pgsql/data/pg_hba.conf</path>.
local spaceschema spaceuser md5 host spaceschema spaceuser 127.0.0.1/8 md5 host spaceschema spaceuser ::1/128 md5 local spaceschema postgres ident
Prise en compte des modifications
On force PostgreSQL à rafraichir sa configuration, ou on le redémarre.
service postgresql reload
Test de connexion
PGPASSWORD=spacepw psql -a -U spaceuser spaceschema PGPASSWORD=spacepw psql -h localhost -a -U spaceuser spaceschema
Tuning PostgreSQL
Amélioration des performances de PostgreSQL avec l'utilitaire <app>pgtune</app>
yum install pgtune pgtune --type=web -c 600 -i /var/lib/pgsql/data/postgresql.conf >/tmp/pgtune.conf
Visualisation et application des améliorations
diff -u /var/lib/pgsql/data/postgresql.conf /tmp/pgtune.conf cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bak cp /tmp/pgtune.conf /var/lib/pgsql/data/postgresql.conf service postgresql restart
ou simplement restreindre le nombre maximum de connexions à 600
echo max_connections = 600 >>/var/lib/pgsql/data/postgresql.conf