Administration

From Tuxunix
Jump to: navigation, search

Commandes de base

  • Ce connecter à une BDD
psql nomBdd

ou

test=# \c nomBdd
  • Lister les bases
test=# SELECT datname FROM pg_database;

ou

test=#  \l
  • Lister les tables
select * from pg_tables

ou

test=# \d
  • Version
postgres=# select version();
  • Quitter
test=#  quit

ou

test=#  \q

Création DB

testdb=> CREATE TABLE ma_table (
testdb(>  premier integer not NULL default 0,
testdb(>  second text)
testdb-> ;
CREATE TABLE

Afficher la définition d'une table

testdb=> \d ma_table
            Table "ma_table"
Attribute |  Type   |      Modifier
-----------+---------+--------------------
premier   | integer | not null default 0
second    | text    |


Sauvegarde/Restauration

Sauvegarde

pg_dump -o nomBdd > fichier_de_sortie

ou

pg_dumpall > fichier_de_sortie

Compresser

pg_dump nomBdd | gzip > nom_fichier.gz

Restaurer

psql nomBdd < fichier_d_entree

Decompresser

gunzip -c nom_fichier.gz | psql base_de_donnees

Configuration

  • Récuperer la configuration
getconf -a | grep -ri max

Fichier de configuration

postgresql.conf

C'est dans ce fichier que vous retrouver la configuration principal de votre BDD :

listen_addresses/max_connections...

Paramètes de connexion

listens_addresses = '*' #Ecoute sur toutes les interfaces
max_connections = 100 #Connexion simultanée

Il vous faut également autoriser les connexions securisé, via le fichier "pg_hba.conf" Ici le niveau d'authentification est le plus faible (trust)

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
host    all         all         X.X.X.x/25     trust
host    all         all         X.X.X.X/25     trust
# IPv6 local connections:
host    all         all         ::1/128               trust

Paramètes mémoire

Pour un serveur dédié, un quart de la mémoire est un bon départ pour le paramètre shared_buffers

Normalisation PGsql

Type Paramètre Nouvelle valeur Commentaires
Connexions listen_addresses <<*>> Autorise les connexions par toutes les interfaces réseau du serveur
Connexions max_connections 100 Ne jamais dépasser 1000
Mémoire partagée shared_buffers 1/4 de la RAM pour un serveur dédié
Mémoire partagée wal_buffers 8MB
Mémoire par Processus work_mem 10MB ne pas dépasser 100 Mo
Mémoire par Processus maintenance_work_mem au maximum 1GB pour un serveur dédié ayant au moins 4 Go
Journaux de transactions checkpoint_segments 10
Journaux de transactions checkpoint_completion_target 0.9
Planificateur effective_cache_size 2/3 de la RAM pour un serveur dédié
Planificateur random_page_cost entre 2 et 4 2 pour les disques rapides, 4 pour les disques lents
Traces log_destination syslog
Traces lc_messages « C »