Test d’installation d’une base de données PostgreSQL

2012-12-09

PostgreSQL[a] est un système de gestion de base de données relationnelle et objet (SGBDRO), considéré par beaucoup comme le SGDB Open Source de référence.

[a]

Une fois installée sur un nouveau système il est bon de réaliser un petit test avant d’y importer ses données.

Groupe/Utilisateur

Le service ne doit pas tourner avec les droits root, il est préférable de créer un utilisateur et un groupe dédiés. Sur un système Slackware, il est conseillé d’utiliser ceci :

 # postgresql

User:   postgres    UID: 209    GID: 209
Group:  postgres                GID: 209

Voici un petit script qui vérifiera si tout est ok et/ou vous créera tout ça (script fourni dans le paquet Salix).

 #!/bin/sh
if [ $(id -u) -ne 0 ]; then 
    echo “you must be root” exit 1
 fi
 . /etc/postgresd.conf grep -q “^$PGGROUP:” /etc/group
 if [ $? -ne 0 ]; then
     groupadd -g 209 $PGGROUP 
 fi
 grep -q “^$PGUSER:” /etc/passwd 
 if [ $? -ne 0 ]; then 
 useradd -u 209 -d $PGHOME -m -k /dev/null -g $PGGROUP $PGUSER
 fi
 chmod u=rwx,go= $PGHOME su - $PGUSER -c “initdb -D $PGDB”

Comme vous le voyez, il se base sur /etc/postgresd.conf :

 #!/bin/sh

 PGUSER=postgres
 PGGROUP=postgres
 PGHOME=/var/lib/postgres
 PGDB=$PGHOME/db
 PGLOG=/var/log/postgres.log
 PGPID=$PGHOME/postmaster.pid

Test

Passez root :

 $ su -

Puis, création d’une base de donnée test, d’une table t1, insertion de données et affichage :

su - postgres -c '/usr/bin/createdb test' &&
echo "create table t1 ( name varchar(20), state_province varchar(20) );" | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Billy', 'NewYork');" | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Evanidus', 'Quebec');" | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Jesse', 'Ontario');" | (su - postgres -c '/usr/bin/psql test ') &&
echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')

Si tout va bien, vous obtiendrez ceci :

CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
name      | state_province
----------+----------------
Billy     | NewYork
Evanidus  | Quebec
Jesse     | Ontario
(3 rows)

Quelques liens

[a]

[b]

[c]

[d]

<--

Commentaires / Comments ?

Envoyer un email à la liste de discussion publique / Send a mail to the public Inbox


-- Copyright © 2008–2022 Frédéric Galusik - CC BY-SA 4.0 --