Blame
Date:
Sun Jun 28 20:43:02 2020 UTC
Message:
logo adjust
01
2020-06-28
dev
Title: Test d'installation d'une base de données PostgreSQL
02
2020-06-28
dev
Date: 2012-12-09
03
2020-06-28
dev
Category: Tech
04
2020-06-28
dev
05
2020-06-28
dev
06
2020-06-28
dev
[PostgreSQL](http://www.postgresql.org/) est un système de gestion de base de
07
2020-06-28
dev
données relationnelle et objet (SGBDRO), considéré par beaucoup comme le
08
2020-06-28
dev
SGDB Open Source de référence.
09
2020-06-28
dev
10
2020-06-28
dev
Une fois installée sur un nouveau système il est bon de réaliser un petit test
11
2020-06-28
dev
avant d'y importer ses données.
12
2020-06-28
dev
13
2020-06-28
dev
## Groupe/Utilisateur
14
2020-06-28
dev
15
2020-06-28
dev
Le service ne doit pas tourner avec les droits *root*, il est préférable de créer
16
2020-06-28
dev
un utilisateur et un groupe dédiés. Sur un système *Slackware*, il est conseillé
17
2020-06-28
dev
d'utiliser ceci :
18
2020-06-28
dev
```
19
2020-06-28
dev
postgresql
20
2020-06-28
dev
==========
21
2020-06-28
dev
User: postgres UID: 209 GID: 209
22
2020-06-28
dev
Group: postgres GID: 209
23
2020-06-28
dev
```
24
2020-06-28
dev
Voici un petit script qui vérifiera si tout est ok et/ou vous créera tout ça
25
2020-06-28
dev
(script fourni dans le paquet Salix).
26
2020-06-28
dev
```
27
2020-06-28
dev
#!/bin/sh
28
2020-06-28
dev
if [ $(id -u) -ne 0 ]; then
29
2020-06-28
dev
echo "you must be root"
30
2020-06-28
dev
exit 1
31
2020-06-28
dev
fi
32
2020-06-28
dev
. /etc/postgresd.conf
33
2020-06-28
dev
grep -q "^$PGGROUP:" /etc/group
34
2020-06-28
dev
if [ $? -ne 0 ]; then
35
2020-06-28
dev
groupadd -g 209 $PGGROUP
36
2020-06-28
dev
fi
37
2020-06-28
dev
grep -q "^$PGUSER:" /etc/passwd
38
2020-06-28
dev
if [ $? -ne 0 ]; then
39
2020-06-28
dev
useradd -u 209 -d $PGHOME -m -k /dev/null -g $PGGROUP $PGUSER
40
2020-06-28
dev
fi
41
2020-06-28
dev
chmod u=rwx,go= $PGHOME
42
2020-06-28
dev
su - $PGUSER -c "initdb -D $PGDB"
43
2020-06-28
dev
```
44
2020-06-28
dev
Comme vous le voyez, il se base sur /etc/postgresd.conf :
45
2020-06-28
dev
```
46
2020-06-28
dev
#!/bin/sh
47
2020-06-28
dev
48
2020-06-28
dev
PGUSER=postgres
49
2020-06-28
dev
PGGROUP=postgres
50
2020-06-28
dev
PGHOME=/var/lib/postgres
51
2020-06-28
dev
PGDB=$PGHOME/db
52
2020-06-28
dev
PGLOG=/var/log/postgres.log
53
2020-06-28
dev
PGPID=$PGHOME/postmaster.pid
54
2020-06-28
dev
```
55
2020-06-28
dev
## Test
56
2020-06-28
dev
57
2020-06-28
dev
Passez *root* :
58
2020-06-28
dev
```
59
2020-06-28
dev
$ su -
60
2020-06-28
dev
```
61
2020-06-28
dev
Puis, création d'une base de donnée test, d'une table t1, insertion de données
62
2020-06-28
dev
et affichage :
63
2020-06-28
dev
```
64
2020-06-28
dev
su - postgres -c '/usr/bin/createdb test' &&
65
2020-06-28
dev
echo "create table t1 ( name varchar(20), state_province varchar(20) );" | (su - postgres -c '/usr/bin/psql test ') &&
66
2020-06-28
dev
echo "insert into t1 values ('Billy', 'NewYork');" | (su - postgres -c '/usr/bin/psql test ') &&
67
2020-06-28
dev
echo "insert into t1 values ('Evanidus', 'Quebec');" | (su - postgres -c '/usr/bin/psql test ') &&
68
2020-06-28
dev
echo "insert into t1 values ('Jesse', 'Ontario');" | (su - postgres -c '/usr/bin/psql test ') &&
69
2020-06-28
dev
echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')
70
2020-06-28
dev
```
71
2020-06-28
dev
Si tout va bien, vous obtiendrez ceci :
72
2020-06-28
dev
```
73
2020-06-28
dev
CREATE TABLE
74
2020-06-28
dev
INSERT 0 1
75
2020-06-28
dev
INSERT 0 1
76
2020-06-28
dev
INSERT 0 1
77
2020-06-28
dev
name | state_province
78
2020-06-28
dev
----------+----------------
79
2020-06-28
dev
Billy | NewYork
80
2020-06-28
dev
Evanidus | Quebec
81
2020-06-28
dev
Jesse | Ontario
82
2020-06-28
dev
(3 rows)
83
2020-06-28
dev
```
84
2020-06-28
dev
85
2020-06-28
dev
## Quelques liens
86
2020-06-28
dev
87
2020-06-28
dev
- [PostgreSQL sur BLFS](http://lfs.traduc.org/view/blfs-svn/server/postgresql.html)
88
2020-06-28
dev
- [Slackbuilds.org UID/GID](http://slackbuilds.org/uid_gid.txt)
89
2020-06-28
dev
- [PostgreSQLFR](http://www.postgresql.fr/)
90
2020-06-28
dev
- [Documentation FR](http://docs.postgresql.fr/)
91
2020-06-28
dev
Frédéric Galusik