Installation PostgreSQL 9.6 sur CentOS 6

bonjour

Ci joint la procédure Technique qui vous permet d’installer un serveur Postgresql sur un système centos

Procédure

*Installation des paquets
Un fichier PGDG est disponible pour chaque combinaison de distribution / architecture / base de données. sur ce site https://www.postgresql.org/download/
Par exemple, pour installer PostgreSQL 9.6 sur CentOS 7 64-bit: yum install
Sans titre1
Installez le RPM qui correspond à votre version d’OS et la version de PostgreSQL que vous voulez
RPM -IVH
Sans titre2.png
Sans titre3
Maintenant, il n’y a plus qu’à lancer l’installation avec yum  Rien de plus simple :
Yum install postgresql96-server

Sans titre4

Puis Lancez les commandes suivante pour initaliser et démarrer le serveur PostgreSQL.  vous pouvez choisir de démarrer le service automatiquement à chaque reboot du serveur

La première commande (nécessaire uniquement une fois) consiste à initialiser la base de données dans PGDATA

Service postgresql-9.6 initdb

Sans titre5

la deuxième commande pour un démarrage automatique du service postgresql9.6 lorsque le système d’exploitation démarre

chkconfig postgresql-9.6 on

Sans titre6

Configuration

Ouvrir le fichier  vi  /var/lib/pgsql/9.6/data/postgresql.conf et ajouter/dé-commenter/modifier les lignes suivantes :

Ce ci pour autoriser les machines a ce connecter sur votre serveur

listen_addresses = '*'
port = 5432

Sans titre7

Ouvrir le fichier  vi  /var/lib/pgsql/9.6/data/pg_hba.conf

et ajouter/dé-commenter/modifier les lignes suivantes :

# TYPE DATABASE USER ADDRESS METHOD

# « local » is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 10.0.0.0/24 trust
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident

Sans titre8

Après ces modification et aprés avoir redémarrer le service postgresql  j’ai essayer de connecter a travers PGadmin3 j’était devant ce message bloquant :

le serveur n’écoute pas:Le serveur n’accepte pas les connexion

Sans titre9

maintenant il faut donner l’accé au port 5342 pour ce connecter depuis  l’extérieur
généralement pour autorisé l’accès au instant postgres

voici la commande

iptables -I INPUT 1 -m tcp -p tcp –dport 5432 -j ACCEPT

puis faite service iptables save && service iptables restart

Sans titre10

Finalement j’ai arriver a connecter sur les serveur

Il ne reste plus qu’à vérifier que tout fonctionne, en ce connectant au serveur a travers PSQL

 psql -h localhost -U postgres

Sans titre11

bonne installation

Restaurer une base postgresql

bonjour

La restauration de données peut s’effectuer avec l’outil pg_restore pour les formats binaires et avec psql pour les sauvegardes en format texte SQL

pg_restore peut opérer dans deux modes. Si le nom de base de données est spécifié, pg_restore se connecte à cette base de données et restaure l’archive directement dans la base de données. Sinon, un script contenant les commandes SQL nécessaires pour reconstruire la base de données est créé et écrit dans un fichier ou sur la sortie standard. Cette sortie du script est équivalente à celles créées par le format en texte plein de pg_dump. Quelques-unes des options contrôlant la sortie sont du coup analogues aux options de pg_dump.

pour restaurer cliquer sur avec le bouton droit sur votre base et passer vers Restaurer

Sans titre

Sans titre

« Options 1 »

Type des objets :

  • Données uniquement : Restaure seulement les données, pas les schémas (définitions des données). Les données des tables, les Objects, et les valeurs des séquences sont restaurées si elles sont présentes dans l’archive.
  • Schéma uniquement: Restaure seulement le schéma  mais pas les données, à condition que cette définition est présente dans l’archive

    Sans titreSans titre  Finalement on aura un message en indiquant la bonne restauration du base

 

 

Améliorer votre performance avec les indexes Filtrés

bonjour a tous

Dans Cette rubrique on va voir comment créer un index filtré et voir l’importance de ce type d’indexe sur la performance du votre  requétes

commençons par faire une petit définition de ce type d’indexes

Un index filtré est bien conçu pour améliorer les performances des requêtes et la qualité du plan d’exécution car il est plus petit qu’un index non cluster de table entière et contient des statistiques filtrée

prenons cette  petit requête qui serai exécuter sur la base AdventureWorks2014

/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [BusinessEntityID]
,[PersonType]
,[NameStyle]
,[Title]
,[FirstName]
,[MiddleName]
,[LastName]
,[Suffix]
,[EmailPromotion]
,[AdditionalContactInfo]
,[Demographics]
,[rowguid]
,[ModifiedDate]
FROM [AdventureWorks2014].[Person].[Person]
where LastName=’Margheim’

je veux procéder a crée un index filtré afin de faire un suivi de l’opération where LastName=’Margheim’

index_filtré

Sans titre

faisons une petit comparaison  du plan d’exécution du requête avants et après la création du l’indexe

Sans titre

Sans titre

une petit calcul du nbre de page lue montre bien une diminution du nbre de page de 5 vers 2 Sans titre Les indexes filtrés peuvent présenter les avantages suivants:

  • Meilleures performances des requêtes et qualité de plan améliorée
  • Coûts réduits de maintenance des index
  • Coûts réduits de maintenance des index

bonne optimisation avec les indexes filtrée