Vous n'êtes pas identifié(e).

#1 14/11/2012 16:45:36

Postgres.0
Membre

HOT update and pg_dump

Bonjour,

serait-il possible de faire des pg_dump et pg_restore sur des tables HOT ?
Quelle est l'inconvenient du HOT update ?

Quelles sont ses avantages ?

Merci pour votre reponse

Hors ligne

#2 14/11/2012 20:14:56

rjuju
Administrateur

Re : HOT update and pg_dump

Bonjour,

il n'existe pas de table HOT. Le HOT signifie en gros que l'update se fait de manière plus rapide car il ne concerne aucun champ indexé. Ce mécanisme est transparent et s'effectue sur des tables normales.

Hors ligne

#3 15/11/2012 10:09:09

gleu
Administrateur

Re : HOT update and pg_dump

Et donc plein d'avantages en terme de performances grâce à une diminution du nombre d'écritures disques, et aucun inconvénient.


Guillaume.

Hors ligne

#4 15/11/2012 11:50:20

Postgres.0
Membre

Re : HOT update and pg_dump

Comment l'activer, alors ?  J'ai cru comprendre que c'est optionnel.

Est-ce que c'est au moment de créer la table, bref je ne vois comment l'activer.

Hors ligne

#5 15/11/2012 14:40:04

gleu
Administrateur

Re : HOT update and pg_dump

Ce n'est pas optionnel. Comme il n'y a pas d'inconvénients, il n'y a aucune raison de le rendre optionnel. Si cela ne survient pas sur vos tables, c'est que vos requêtes UPDATE ne permettent pas d'avoir cette optimisation. Il est néanmoins possible de favoriser cette optimisation en modifiant le paramètre fillfactor des tables.


Guillaume.

Hors ligne

#6 15/11/2012 14:44:23

Postgres.0
Membre

Re : HOT update and pg_dump

d'accord, sauf qu'une ligne prend plus de 8Ko, donc ne tient pas dans une page.
Dans ce cas, est-ce-qu'il y a un interet d'avoir le HOT.

Hors ligne

#7 15/11/2012 14:48:02

gleu
Administrateur

Re : HOT update and pg_dump

Une ligne ne peut pas être enregistré sur plus d'un bloc. Si elle dépasse un bloc (donc 8Ko), une partie de ses données est stockée dans la partie TOAST de la table.


Guillaume.

Hors ligne

#8 15/11/2012 14:49:38

Postgres.0
Membre

Re : HOT update and pg_dump

conctrètement, le TOAST c'est un pointeur vers une zone mémoire ?

Hors ligne

#9 15/11/2012 16:02:30

gleu
Administrateur

Re : HOT update and pg_dump

La relation TOAST est un ou plusieurs fichiers complémentaires pour une table.

Une table est donc composée d'un fichier ou plusieurs fichiers HEAP et d'un ou plusieurs fichiers TOAST. Les données sont enregistrées normalement dans la partie HEAP. Si certaines données sont trop grosses (par exemple ce qui est varchar, char, text et bytea), un pointeur est stockée dans la partie HEAP vers la partie TOAST et la donnée est stockée dans la partie TOAST.


Guillaume.

Hors ligne

Pied de page des forums