PostgreSQL
De OpenWikiBSD.
Sommaire |
Installation
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.3/packages/i386/postgresql-server mkdir -p /var/postgresql su - _postgresql mkdir /var/postgresql/data initdb -D /var/postgresql/data -U user -A md5 -W
=>Mdp
postgres -D /var/postgresql/data &
echo " #Demarrage PostgreSQL su - _postgresql /usr/local/bin/postgres -D /var/postgresql/data " >> /etc/rc.local
Fichiers de conf
- Rep /var/postgresql
- Fichier /var/postgresql/data/pg_hba.conf
Usage, création des bdd
- Création BDD
/usr/local/bin/createdb -U user -h localhost BDD Password: CREATE DATABASE
- Création structure BDD
/usr/local/bin/psql -U user -h localhost -d BDD -f ./install.sql
- Accéder aux BDD
/usr/local/bin/psql -U user -h localhost -d BDD
Gestion des utilisateurs
- Ajout des utilisateurs
/usr/local/bin/createuser -U user -h localhost -d New_User Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n Password: CREATE ROLE
Ou bien
postgres=# CREATE USER monUser WITH PASSWORD 'SonPassword';
- Qui sont-ils ?
postgres=# SELECT * from pg_shadow ; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig -------------+----------+-------------+----------+-----------+-------------------------------------+----------+----------- toto | 19875 | t | f | f | | | postgreSQL | 10 | t | t | t | md57689mpj651a699eeca624309gdukht8d | | (2 rows)
- Changer le mot de passe de XYZ
postgres=# ALTER USER user WITH PASSWORD 'PASSWORD'; ALTER ROLE
- Changer les droits de XYZ sur la base ABC
USER=# grant all on OBJET to USER; GRANT
Important.
Il n'est pas possible d'augmenter les privilèges sur une base, mais sur des objets seulement.
Exemple , si vous utilisez l'excellent Studs
studs=# \d
List of relations
Schema | Name | Type | Owner
--------+-------------------------+----------+-------
public | comments | table | toto
public | comments_id_comment_seq | sequence | toto
public | sondage | table | toto
public | sujet_studs | table | toto
public | user_studs | table | toto
public | user_studs_id_users_seq | sequence | toto
(6 rows)
Pour donner les droits à titi, il faudra faire :
grant all on XXXX to titi;
sur chacun des objets Name.
Commandes PostgreSQL
- Commandes internes
\h : help \q : sortir de psql \l : Liste les BDD \? : Liste les commandes dispos \s : Historique \d : Décrit la structure de la base actuelle \c BDD : Changer de BDD
Si le prompt est : mabase> ,vous êtes utilisateur
Si le prompt est : mabase# ,vous êtes super-utilisateur
- Supprimer une Bdd
\c postgres drop database MABASE;
- Supprimer un user
\c postgres drop user MONUSER;
- Créer une BDD en CLI
createdb -U postgres --encoding=UNICODE -T template0 --owner=USER BDD
- Créer un user en CLI
createuser -U postgres --pwprompt --encrypted --no-adduser --no-createdb USER
Administration mode ouebe
pkg_add phpPgAdmin cd /var/www/htdocs ln -s ../phpPgAdmin /var/www/htdocs/ssl/phpPgAdmin

