| 1 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
|---|
| 2 |
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" > |
|---|
| 3 |
|
|---|
| 4 |
<article id="postgresqlconf" lang="fr"> |
|---|
| 5 |
<articleinfo> |
|---|
| 6 |
<title>Fichier postgresql.conf et guide de configuration utilisateur générale |
|---|
| 7 |
(<foreignphrase>Global User Configuration (GUC)</foreignphrase>) annotés</title> |
|---|
| 8 |
<subtitle>PostgreSQL 8.1.x</subtitle> |
|---|
| 9 |
</articleinfo> |
|---|
| 10 |
|
|---|
| 11 |
<sect1> |
|---|
| 12 |
<title>Emplacement des fichiers</title> |
|---|
| 13 |
|
|---|
| 14 |
<table> |
|---|
| 15 |
<title>Fichier postgresql.conf et guide de configuration utilisateur générale |
|---|
| 16 |
(<foreignphrase>Global User Configuration (GUC)</foreignphrase>) annotés</title> |
|---|
| 17 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 18 |
|
|---|
| 19 |
<thead> |
|---|
| 20 |
<row> |
|---|
| 21 |
<entry>Paramètre</entry> |
|---|
| 22 |
<entry>Échelle</entry> |
|---|
| 23 |
<entry>Valeur par défaut</entry> |
|---|
| 24 |
<entry>Positionné au</entry> |
|---|
| 25 |
<entry>-o</entry> |
|---|
| 26 |
<entry>Ce que dit la documentation</entry> |
|---|
| 27 |
<entry>Commentaires</entry> |
|---|
| 28 |
</row> |
|---|
| 29 |
</thead> |
|---|
| 30 |
|
|---|
| 31 |
<tbody> |
|---|
| 32 |
<row> |
|---|
| 33 |
<entry>data_directory</entry> |
|---|
| 34 |
<entry>Répertoire</entry> |
|---|
| 35 |
<entry>ConfigDir</entry> |
|---|
| 36 |
<entry>Démarrage</entry> |
|---|
| 37 |
<entry></entry> |
|---|
| 38 |
<entry> |
|---|
| 39 |
Répertoire de stockage des données |
|---|
| 40 |
</entry> |
|---|
| 41 |
<entry> |
|---|
| 42 |
Ces nouveaux paramètres de configuration des emplacements de fichiers facilitent l'administration |
|---|
| 43 |
d'une installation de PostgreSQL lorsque les fichiers de configuration et de surveillance |
|---|
| 44 |
sont séparés de la base, généralement dans un but d'ajustement à une spécification particulière |
|---|
| 45 |
du fichier d'administration ou pour automatiser la conduite de tests avec plusieurs configurations. |
|---|
| 46 |
Lorsque ce paramètre est utilisé, seul l'emplacement du fichier postgresql.conf doit être |
|---|
| 47 |
précisé au démarrage du postmaster (à l'aide de -D ou PGDATA). Cette approche est supérieure |
|---|
| 48 |
à l'utilisation de lien symbolique, unique option jusque là disponible. |
|---|
| 49 |
</entry> |
|---|
| 50 |
</row> |
|---|
| 51 |
<row> |
|---|
| 52 |
<entry>config_file</entry> |
|---|
| 53 |
<entry>Nom de fichier</entry> |
|---|
| 54 |
<entry>ConfigDir/postgresql.conf</entry> |
|---|
| 55 |
<entry>Démarrage</entry> |
|---|
| 56 |
<entry></entry> |
|---|
| 57 |
<entry> |
|---|
| 58 |
Fichier de configuration principal du serveur (initialement |
|---|
| 59 |
<filename>postgresql.conf</filename>). |
|---|
| 60 |
</entry> |
|---|
| 61 |
<entry></entry> |
|---|
| 62 |
</row> |
|---|
| 63 |
<row> |
|---|
| 64 |
<entry>hba_file</entry> |
|---|
| 65 |
<entry>Nom de fichier</entry> |
|---|
| 66 |
<entry>ConfigDir/pg_hba.conf</entry> |
|---|
| 67 |
<entry>Démarrage</entry> |
|---|
| 68 |
<entry></entry> |
|---|
| 69 |
<entry> |
|---|
| 70 |
Fichier de configuration pour l'authentification par hôte |
|---|
| 71 |
(habituellement pg_hba.conf). |
|---|
| 72 |
</entry> |
|---|
| 73 |
<entry></entry> |
|---|
| 74 |
</row> |
|---|
| 75 |
<row> |
|---|
| 76 |
<entry>ident_file</entry> |
|---|
| 77 |
<entry>Nom de fichier</entry> |
|---|
| 78 |
<entry>ConfigDir/pg_ident.conf</entry> |
|---|
| 79 |
<entry>Démarrage</entry> |
|---|
| 80 |
<entry></entry> |
|---|
| 81 |
<entry> |
|---|
| 82 |
Fichier de configuration pour l'authentification par <emphasis>ident</emphasis> |
|---|
| 83 |
(habituellement pg_ident.conf). |
|---|
| 84 |
</entry> |
|---|
| 85 |
<entry></entry> |
|---|
| 86 |
</row> |
|---|
| 87 |
<row> |
|---|
| 88 |
<entry>external_pid_file</entry> |
|---|
| 89 |
<entry>Nom de fichier</entry> |
|---|
| 90 |
<entry>Aucun</entry> |
|---|
| 91 |
<entry>Démarrage</entry> |
|---|
| 92 |
<entry></entry> |
|---|
| 93 |
<entry> |
|---|
| 94 |
Fichier additionnel d'identifiant de processus (PID) que le |
|---|
| 95 |
postmaster crée pour les programmes d'administration serveur. |
|---|
| 96 |
</entry> |
|---|
| 97 |
<entry> |
|---|
| 98 |
Ce paramètre est utile pour les programmes d'administration et les interfaces utilisateur |
|---|
| 99 |
graphiques qui s'attendent à trouver le PID de PostgreSQL à un emplacement particulier, en général |
|---|
| 100 |
/var. Ce n'est qu'une copie du PID, en aucun cas le fichier utilisé par pg_ctl au démarrage. |
|---|
| 101 |
Ce dernier est situé dans le répertoire des données. |
|---|
| 102 |
</entry> |
|---|
| 103 |
</row> |
|---|
| 104 |
</tbody> |
|---|
| 105 |
</tgroup> |
|---|
| 106 |
</table> |
|---|
| 107 |
|
|---|
| 108 |
</sect1> |
|---|
| 109 |
|
|---|
| 110 |
<sect1> |
|---|
| 111 |
<title>Connexions et authentification</title> |
|---|
| 112 |
|
|---|
| 113 |
<sect2> |
|---|
| 114 |
<title>Paramètres de connexion</title> |
|---|
| 115 |
|
|---|
| 116 |
<table> |
|---|
| 117 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 118 |
|
|---|
| 119 |
<thead> |
|---|
| 120 |
<row> |
|---|
| 121 |
<entry>Paramètre</entry> |
|---|
| 122 |
<entry>Échelle</entry> |
|---|
| 123 |
<entry>Valeur par défaut</entry> |
|---|
| 124 |
<entry>Positionné au</entry> |
|---|
| 125 |
<entry>-o</entry> |
|---|
| 126 |
<entry>Ce que dit la documentation</entry> |
|---|
| 127 |
<entry>Commentaires</entry> |
|---|
| 128 |
</row> |
|---|
| 129 |
</thead> |
|---|
| 130 |
|
|---|
| 131 |
<tbody> |
|---|
| 132 |
<row> |
|---|
| 133 |
<entry>listen_addresses</entry> |
|---|
| 134 |
<entry></entry> |
|---|
| 135 |
<entry>localhost</entry> |
|---|
| 136 |
<entry>Démarrage</entry> |
|---|
| 137 |
<entry>-h x -i</entry> |
|---|
| 138 |
<entry> |
|---|
| 139 |
Adresse(s) TCP/IP sur la(es)quelle(s) le serveur écoute les connexions en provenance |
|---|
| 140 |
des clients. La valeur a la forme d'une liste de noms d'hôte ou d'adresses IP séparés par des |
|---|
| 141 |
virgules. La valeur spéciale '*' correspond à toutes les interfaces IP disponibles. |
|---|
| 142 |
Si la liste est vide, le serveur n'écoute aucune interface IP. Dans ce cas, seules les |
|---|
| 143 |
sockets de domaine UNIX peuvent être utilisées pour se connecter. La valeur par défaut est |
|---|
| 144 |
'localhost', ce qui n'autorise que les connexions « loopback ». |
|---|
| 145 |
</entry> |
|---|
| 146 |
<entry> |
|---|
| 147 |
<para> |
|---|
| 148 |
Ce paramètre remplace les deux paramètres « tcp_ip » et |
|---|
| 149 |
« virtual_host » de la version 7.4. La plupart des utilisateurs peuvent |
|---|
| 150 |
utiliser '*' pour écouter toutes les adresses, ou laisser 'localhost' pour une machine sécurisée. |
|---|
| 151 |
À la différence des versions précédentes, la valeur par défaut autorise désormais les connexions |
|---|
| 152 |
TCP/IP sur 127.0.0.1. Le serveur web local peut ainsi se connecter sans paramétrage particulier. |
|---|
| 153 |
</para> |
|---|
| 154 |
<para> |
|---|
| 155 |
Pour un accès sécurisé, ce paramètre doit être modifié <emphasis>après</emphasis> |
|---|
| 156 |
la configuration du fichier pg_hba.conf. |
|---|
| 157 |
</para> |
|---|
| 158 |
</entry> |
|---|
| 159 |
</row> |
|---|
| 160 |
<row> |
|---|
| 161 |
<entry>port</entry> |
|---|
| 162 |
<entry>129 à 32768</entry> |
|---|
| 163 |
<entry>5432</entry> |
|---|
| 164 |
<entry>Démarrage</entry> |
|---|
| 165 |
<entry>-p #</entry> |
|---|
| 166 |
<entry> |
|---|
| 167 |
Le port TCP sur lequel le serveur écoute. Ce port est utilisé pour toutes les |
|---|
| 168 |
adresses IP que le serveur écoute. |
|---|
| 169 |
</entry> |
|---|
| 170 |
<entry> |
|---|
| 171 |
<para> |
|---|
| 172 |
Un port alternatif est essentiellement utilisé lorsque plusieurs serveurs |
|---|
| 173 |
postgreSQL tournent sur la même machine, pendant une mise à niveau par exemple. |
|---|
| 174 |
</para> |
|---|
| 175 |
<para> |
|---|
| 176 |
Une alternative à cette configuration est l'utilisation de l'option de compilation |
|---|
| 177 |
« --with-port ». |
|---|
| 178 |
Cette option fixe le port alternatif dans tous les binaires évitant ainsi de |
|---|
| 179 |
préciser l'option -p pour tous les clients. |
|---|
| 180 |
</para> |
|---|
| 181 |
</entry> |
|---|
| 182 |
</row> |
|---|
| 183 |
<row> |
|---|
| 184 |
<entry>max_connections</entry> |
|---|
| 185 |
<entry>2 à 262143</entry> |
|---|
| 186 |
<entry>100</entry> |
|---|
| 187 |
<entry>Démarrage</entry> |
|---|
| 188 |
<entry>-N #</entry> |
|---|
| 189 |
<entry> |
|---|
| 190 |
Nombre maximum de connexions concurrentes à un serveur de bases de données. |
|---|
| 191 |
Typiquement 100 par défaut, il peut être réduit si la configuration du noyau |
|---|
| 192 |
l'impose (initdb tente de le déterminer). |
|---|
| 193 |
</entry> |
|---|
| 194 |
<entry> |
|---|
| 195 |
Ce paramètre doit être maintenu près du minimum requis par l'application. |
|---|
| 196 |
En effet, chaque connexion nécessite des ressources |
|---|
| 197 |
système significatives. Les applications web qui servent des centaines |
|---|
| 198 |
d'utilisateurs peuvent utiliser une réserve de connexions |
|---|
| 199 |
(<foreignphrase>connection pool</foreignphrase>) pour réduire le nombre |
|---|
| 200 |
de connexions demandées. L'augmentation du paramètre demande un ajustement des |
|---|
| 201 |
limites mémoire du système. |
|---|
| 202 |
</entry> |
|---|
| 203 |
</row> |
|---|
| 204 |
<row> |
|---|
| 205 |
<entry>superuser_reserved_connections</entry> |
|---|
| 206 |
<entry>0 à max_connections - 1</entry> |
|---|
| 207 |
<entry>2</entry> |
|---|
| 208 |
<entry>Démarrage</entry> |
|---|
| 209 |
<entry></entry> |
|---|
| 210 |
<entry> |
|---|
| 211 |
Nombre de connexions réservées aux superutilisateurs PostgreSQL et au démon autovacuum. Au plus |
|---|
| 212 |
max_connections connexions peuvent être actives simultanément. Lorsque |
|---|
| 213 |
le nombre de connexions concurrentes atteint max_connections moins |
|---|
| 214 |
superuser_reserved_connections, seules les connexions de superutilisateurs |
|---|
| 215 |
sont encore autorisées. |
|---|
| 216 |
</entry> |
|---|
| 217 |
<entry> |
|---|
| 218 |
Cela protège l'accès des superutilisateurs en cas d'engorgement de la base. |
|---|
| 219 |
Ce paramètre ne doit être positionné à 0 que lorsqu'il est certain que |
|---|
| 220 |
toutes les connexions ne sont jamais utilisées. (NDR : Je positionne |
|---|
| 221 |
souvent ce paramètre à 1 puisque je ne me connecte en superutilisateur |
|---|
| 222 |
à la base qu'en cas de problème.) Le paramétrage à 2 par défaut prévoit le |
|---|
| 223 |
cas d'utilitaire administratif connecté en permanence, autovacuum par exemple. |
|---|
| 224 |
</entry> |
|---|
| 225 |
</row> |
|---|
| 226 |
<row> |
|---|
| 227 |
<entry>unix_socket_directory</entry> |
|---|
| 228 |
<entry></entry> |
|---|
| 229 |
<entry>''</entry> |
|---|
| 230 |
<entry>Démarrage</entry> |
|---|
| 231 |
<entry>-k $</entry> |
|---|
| 232 |
<entry> |
|---|
| 233 |
Répertoire du socket de domaine Unix sur lequel le serveur écoute |
|---|
| 234 |
les connexions de clients. /tmp par défaut, mais le paramètre |
|---|
| 235 |
peut être modifié à la compilation. |
|---|
| 236 |
</entry> |
|---|
| 237 |
<entry> |
|---|
| 238 |
Aucune recommandation particulière. |
|---|
| 239 |
</entry> |
|---|
| 240 |
</row> |
|---|
| 241 |
<row> |
|---|
| 242 |
<entry>unix_socket_group</entry> |
|---|
| 243 |
<entry></entry> |
|---|
| 244 |
<entry>''</entry> |
|---|
| 245 |
<entry>Démarrage</entry> |
|---|
| 246 |
<entry></entry> |
|---|
| 247 |
<entry> |
|---|
| 248 |
Groupe propriétaire du socket de domaine Unix. (L'utilisateur propriétaire |
|---|
| 249 |
de ce socket est toujours celui qui exécute le serveur.) Combiné avec l'option |
|---|
| 250 |
UNIX_SOCKET_PERMISSIONS, ce paramètre peut être utilisé comme mécanisme |
|---|
| 251 |
supplémentaire de contrôle des accès pour ce type de socket. Par défaut, |
|---|
| 252 |
c'est une chaîne vide, donc le groupe par défaut de l'utilisateur. |
|---|
| 253 |
</entry> |
|---|
| 254 |
<entry> |
|---|
| 255 |
Aucune recommandation particulière.</entry> |
|---|
| 256 |
</row> |
|---|
| 257 |
<row> |
|---|
| 258 |
<entry>unix_socket_permissions</entry> |
|---|
| 259 |
<entry></entry> |
|---|
| 260 |
<entry>0777</entry> |
|---|
| 261 |
<entry>Démarrage</entry> |
|---|
| 262 |
<entry></entry> |
|---|
| 263 |
<entry> |
|---|
| 264 |
<para> |
|---|
| 265 |
Droits d'accès au socket de domaine Unix. Les sockets de domaine Unix |
|---|
| 266 |
utilisent le système habituel de gestion des droits des systèmes de |
|---|
| 267 |
fichier Unix. La valeur de l'option doit être précisée sous la forme numérique |
|---|
| 268 |
acceptée par les outils système chmod et umask. L'utilisation du format |
|---|
| 269 |
octal impose un 0 (zéro) en début de nombre. |
|---|
| 270 |
</para> |
|---|
| 271 |
<para> |
|---|
| 272 |
Les droits par défaut sont 0777, tout le monde peut se connecter. |
|---|
| 273 |
Des alternatives acceptables sont 0770 (droits pour l'utilisateur |
|---|
| 274 |
et le groupe, voir aussi unix_socket_group), et 0700 (utilisateur seul). |
|---|
| 275 |
En général, dans le cas d'une socket de domaine Unix, seul le droit |
|---|
| 276 |
d'écriture importe. Il n'y a donc aucun intérêt à positionner ou supprimer |
|---|
| 277 |
les droits d'écriture ou de lecture. |
|---|
| 278 |
</para> |
|---|
| 279 |
</entry> |
|---|
| 280 |
<entry> |
|---|
| 281 |
Aucune recommandation particulère.</entry> |
|---|
| 282 |
</row> |
|---|
| 283 |
<row> |
|---|
| 284 |
<entry>bonjour_name</entry> |
|---|
| 285 |
<entry></entry> |
|---|
| 286 |
<entry>''</entry> |
|---|
| 287 |
<entry>Démarrage</entry> |
|---|
| 288 |
<entry></entry> |
|---|
| 289 |
<entry> |
|---|
| 290 |
Nom du diffuseur Bonjour. La valeur par défaut, indiquée par une chaîne |
|---|
| 291 |
vide '', est le nom de l'ordinateur. Cette option n'a d'intérêt que pour les |
|---|
| 292 |
plateformes qui supportent Rendezvous. |
|---|
| 293 |
</entry> |
|---|
| 294 |
<entry> |
|---|
| 295 |
Aucune recommandation particulière. |
|---|
| 296 |
</entry> |
|---|
| 297 |
</row> |
|---|
| 298 |
<row> |
|---|
| 299 |
<entry>tcp_keepalives_idle</entry> |
|---|
| 300 |
<entry></entry> |
|---|
| 301 |
<entry>0</entry> |
|---|
| 302 |
<entry>Démarrage</entry> |
|---|
| 303 |
<entry></entry> |
|---|
| 304 |
<entry> |
|---|
| 305 |
Indique l'interval (en secondes) entre l'envoi de deux instructions |
|---|
| 306 |
« d'entretien » (keepalive) sur une connexion autrement |
|---|
| 307 |
inactive. Valable pour les systèmes qui acceptent l'option de socket |
|---|
| 308 |
<symbol>TCP_KEEPIDLE</symbol>. |
|---|
| 309 |
Une valeur nulle (0) impose l'utilisation de la valeur par défaut du système. Si |
|---|
| 310 |
<symbol>TCP_KEEPIDLE</symbol> n'est pas supporté, ce paramètre doit être |
|---|
| 311 |
positionné à 0. Cette option est sans effet lors de connexions par la socket |
|---|
| 312 |
de domaine UNIX. |
|---|
| 313 |
</entry> |
|---|
| 314 |
<entry> |
|---|
| 315 |
</entry> |
|---|
| 316 |
</row> |
|---|
| 317 |
<row> |
|---|
| 318 |
<entry>tcp_keepalives_interval</entry> |
|---|
| 319 |
<entry></entry> |
|---|
| 320 |
<entry>0</entry> |
|---|
| 321 |
<entry>Démarrage</entry> |
|---|
| 322 |
<entry></entry> |
|---|
| 323 |
<entry> |
|---|
| 324 |
Indique le délai d'attente (en secondes) d'une réponse à un keepalive avant |
|---|
| 325 |
retransmission. Valable pour les systèmes qui acceptent l'option de socket |
|---|
| 326 |
<symbol>TCP_KEEPINTVL</symbol>. Une valeur nulle (0) impose l'utilisation de |
|---|
| 327 |
la valeur par défaut du système. Si <symbol>TCP_KEEPINTVL</symbol> n'est pas |
|---|
| 328 |
supporté, ce paramètre doit être positionné à 0. Cette option est sans effet |
|---|
| 329 |
lors de connexions par la socket de domaine UNIX. |
|---|
| 330 |
</entry> |
|---|
| 331 |
<entry> |
|---|
| 332 |
</entry> |
|---|
| 333 |
</row> |
|---|
| 334 |
<row> |
|---|
| 335 |
<entry>tcp_keepalives_count</entry> |
|---|
| 336 |
<entry></entry> |
|---|
| 337 |
<entry>0</entry> |
|---|
| 338 |
<entry>Démarrage</entry> |
|---|
| 339 |
<entry></entry> |
|---|
| 340 |
<entry> |
|---|
| 341 |
Indique le nombre de keepalives qui peuvent être perdus avant de considérer |
|---|
| 342 |
la connexion perdue. Valable sur les système qui acceptent l'option de socket |
|---|
| 343 |
<symbol>TCP_KEEPCNT</symbol>. Une valeur nulle (0) impose l'utilisation de |
|---|
| 344 |
la valeur par défaut du système. Si <symbol>TCP_KEEPCNT</symbol> n'est pas |
|---|
| 345 |
supporté, ce paramètre doit être positionné à 0. Cette option est sans |
|---|
| 346 |
effet lors de connexions par la socket de domaine UNIX. |
|---|
| 347 |
</entry> |
|---|
| 348 |
<entry> |
|---|
| 349 |
</entry> |
|---|
| 350 |
</row> |
|---|
| 351 |
</tbody> |
|---|
| 352 |
</tgroup> |
|---|
| 353 |
</table> |
|---|
| 354 |
|
|---|
| 355 |
</sect2> |
|---|
| 356 |
|
|---|
| 357 |
<sect2> |
|---|
| 358 |
<title>Securité et authentification</title> |
|---|
| 359 |
|
|---|
| 360 |
<table> |
|---|
| 361 |
<title>Securité et authentication (Fichier postgresql.conf et guide de configuration utilisateur générale (<foreignphrase>Global User Configuration (GUC)</foreignphrase>) annotés)</title> |
|---|
| 362 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 363 |
|
|---|
| 364 |
<thead> |
|---|
| 365 |
<row> |
|---|
| 366 |
<entry>Paramètre</entry> |
|---|
| 367 |
<entry>Échelle</entry> |
|---|
| 368 |
<entry>Valeur par défaut</entry> |
|---|
| 369 |
<entry>Positionné au</entry> |
|---|
| 370 |
<entry>-o</entry> |
|---|
| 371 |
<entry>Ce que dit la documentation</entry> |
|---|
| 372 |
<entry>Commentaires</entry> |
|---|
| 373 |
</row> |
|---|
| 374 |
</thead> |
|---|
| 375 |
|
|---|
| 376 |
<tbody> |
|---|
| 377 |
<row> |
|---|
| 378 |
<entry>authentication_timeout</entry> |
|---|
| 379 |
<entry>1-600 sec</entry> |
|---|
| 380 |
<entry>600</entry> |
|---|
| 381 |
<entry>Rechargement</entry> |
|---|
| 382 |
<entry></entry> |
|---|
| 383 |
<entry> |
|---|
| 384 |
Temps maximum laissé à un client pour réussir l'authentification, en secondes. |
|---|
| 385 |
Si un client potentiel n'a pas terminé la séquence d'authentification |
|---|
| 386 |
pendant ce temps, le serveur met fin à la connexion. Cela permet |
|---|
| 387 |
d'éviter qu'un client bloqué n'occupe indéfiniment une connexion. |
|---|
| 388 |
</entry> |
|---|
| 389 |
<entry> |
|---|
| 390 |
Le temps d'attente peut être réduit s'il s'agit d'exécuter un site web |
|---|
| 391 |
à grand traffic. Afin d'éviter une indisponibilité non souhaitée, |
|---|
| 392 |
ou une attente trop longue lorsque le serveur est chargé, il peut |
|---|
| 393 |
être utile de faire correspondre ce temps d'attente avec celui de l'intergiciel. |
|---|
| 394 |
</entry> |
|---|
| 395 |
</row> |
|---|
| 396 |
<row> |
|---|
| 397 |
<entry>ssl</entry> |
|---|
| 398 |
<entry>true, false</entry> |
|---|
| 399 |
<entry>false</entry> |
|---|
| 400 |
<entry>Démarrage</entry> |
|---|
| 401 |
<entry>-l</entry> |
|---|
| 402 |
<entry>Active les connexions SSL</entry> |
|---|
| 403 |
<entry> |
|---|
| 404 |
SSL est une alternative chiffrée à l'accès direct au port TCP/IP, nécessaire |
|---|
| 405 |
pour les clients accédant à des données sécurisées, en particulier à travers |
|---|
| 406 |
un réseau sans fil. PostgreSQL envoie les requêtes et les données en texte, |
|---|
| 407 |
même lors de l'utilisation d'un mot de passe chiffré. SSL peut être difficile |
|---|
| 408 |
à configurer et tous les clients ne supportent pas l'accès SSL. |
|---|
| 409 |
</entry> |
|---|
| 410 |
</row> |
|---|
| 411 |
<row> |
|---|
| 412 |
<entry>password_encryption</entry> |
|---|
| 413 |
<entry>true, false</entry> |
|---|
| 414 |
<entry>true</entry> |
|---|
| 415 |
<entry>Exécution</entry> |
|---|
| 416 |
<entry></entry> |
|---|
| 417 |
<entry> |
|---|
| 418 |
Détermine le chiffrement du mot de passe lorsque ni ENCRYPTED ni UNENCRYPTED |
|---|
| 419 |
ne sont précisés lors de l'indication d'un mot de passe avec les commandes |
|---|
| 420 |
<ulink url="http://docs.postgresqlfr.org/8.1/sql-createuser.html">CREATE USER</ulink> |
|---|
| 421 |
et <ulink url="http://docs.postgresqlfr.org/8.1/sql-alteruser.html">ALTER USER</ulink>. |
|---|
| 422 |
</entry> |
|---|
| 423 |
<entry> |
|---|
| 424 |
Il est préférable de laisser la valeur à <foreignphrase>true</foreignphrase> (vrai), |
|---|
| 425 |
à la fois dans le fichier de configuration et à la connexion. Il n'y a quasiment |
|---|
| 426 |
jamais de raison de ne pas chiffrer les mots de passe des utilisateurs de la base de |
|---|
| 427 |
données. |
|---|
| 428 |
</entry> |
|---|
| 429 |
</row> |
|---|
| 430 |
<row> |
|---|
| 431 |
<entry>krb_server_keyfile</entry> |
|---|
| 432 |
<entry></entry> |
|---|
| 433 |
<entry>''</entry> |
|---|
| 434 |
<entry>Démarrage</entry> |
|---|
| 435 |
<entry></entry> |
|---|
| 436 |
<entry> |
|---|
| 437 |
Positionne l'implantation du fichier de clés du serveur Kerberos. |
|---|
| 438 |
</entry> |
|---|
| 439 |
<entry> |
|---|
| 440 |
Utilisé uniquement pour l'authentification Kerberos des utilisateurs. |
|---|
| 441 |
</entry> |
|---|
| 442 |
</row> |
|---|
| 443 |
<row> |
|---|
| 444 |
<entry>krb_srvname</entry> |
|---|
| 445 |
<entry></entry> |
|---|
| 446 |
<entry>''</entry> |
|---|
| 447 |
<entry>Démarrage</entry> |
|---|
| 448 |
<entry></entry> |
|---|
| 449 |
<entry>Positionne le nom du service Kerberos.</entry> |
|---|
| 450 |
<entry> |
|---|
| 451 |
</entry> |
|---|
| 452 |
</row> |
|---|
| 453 |
<row> |
|---|
| 454 |
<entry>krb_server_hostname</entry> |
|---|
| 455 |
<entry></entry> |
|---|
| 456 |
<entry>''</entry> |
|---|
| 457 |
<entry>Démarrage</entry> |
|---|
| 458 |
<entry></entry> |
|---|
| 459 |
<entry> |
|---|
| 460 |
<para> |
|---|
| 461 |
Positionne la partie nom d'hôte du service principal. En combinaison avec |
|---|
| 462 |
<varname>krb_srvname</varname>, il est utilisé pour engendrer le service |
|---|
| 463 |
principal complet, c'est-à-dire |
|---|
| 464 |
<varname>krb_srvname</varname><literal>/</literal><varname>krb_server_hostname</varname><literal>@</literal>REALM. |
|---|
| 465 |
</para> |
|---|
| 466 |
<para> |
|---|
| 467 |
En l'absence de précision, la valeur par défaut est le nom d'hôte du serveur. |
|---|
| 468 |
</para> |
|---|
| 469 |
</entry> |
|---|
| 470 |
<entry> |
|---|
| 471 |
</entry> |
|---|
| 472 |
</row> |
|---|
| 473 |
<row> |
|---|
| 474 |
<entry>krb_caseins_users</entry> |
|---|
| 475 |
<entry></entry> |
|---|
| 476 |
<entry>''</entry> |
|---|
| 477 |
<entry>Démarrage</entry> |
|---|
| 478 |
<entry></entry> |
|---|
| 479 |
<entry> |
|---|
| 480 |
Règle la sensibilité à la casse des noms d'utilisateur Kerberos. La valeur |
|---|
| 481 |
par défaut est <literal>off</literal> (sensibilité à la casse). |
|---|
| 482 |
</entry> |
|---|
| 483 |
<entry> |
|---|
| 484 |
</entry> |
|---|
| 485 |
</row> |
|---|
| 486 |
<row> |
|---|
| 487 |
<entry>db_user_namespace</entry> |
|---|
| 488 |
<entry>true, false</entry> |
|---|
| 489 |
<entry>false</entry> |
|---|
| 490 |
<entry>Rechargement</entry> |
|---|
| 491 |
<entry></entry> |
|---|
| 492 |
<entry> |
|---|
| 493 |
Lorsque cette option est activée, les utilisateurs doivent être créés comme |
|---|
| 494 |
nom_utilisateur@nom_base. Lorsque le nom d'utilisateur est fourni par un client, |
|---|
| 495 |
@ et le nom de la base sont ajoutés au nom de l'utilisateur. |
|---|
| 496 |
C'est ce nom d'utilisateur, dépendant d'une base de données, qui est |
|---|
| 497 |
ensuite recherché par le serveur. Lors de la création dans l'environnement |
|---|
| 498 |
SQL d'utilisateurs dont le nom contient @, il est nécessaire de placer le |
|---|
| 499 |
nom de l'utilisateur entre des guillemets simples. |
|---|
| 500 |
</entry> |
|---|
| 501 |
<entry> |
|---|
| 502 |
Cette option prend en charge les installations (telles que les FAI) |
|---|
| 503 |
qui nécessitent des utilisateurs définis par base de données. C'est |
|---|
| 504 |
assez contraignant, et cela devrait être supprimé lorsqu'une meilleure |
|---|
| 505 |
solution sera créée. Il est ainsi préférable de ne pas utiliser cette option |
|---|
| 506 |
lorsqu'elle n'est pas vitale. |
|---|
| 507 |
</entry> |
|---|
| 508 |
</row> |
|---|
| 509 |
</tbody> |
|---|
| 510 |
</tgroup> |
|---|
| 511 |
</table> |
|---|
| 512 |
|
|---|
| 513 |
</sect2> |
|---|
| 514 |
|
|---|
| 515 |
</sect1> |
|---|
| 516 |
|
|---|
| 517 |
<sect1> |
|---|
| 518 |
<title>Utilisation des ressources</title> |
|---|
| 519 |
|
|---|
| 520 |
<sect2> |
|---|
| 521 |
<title>Mémoire</title> |
|---|
| 522 |
|
|---|
| 523 |
<note> |
|---|
| 524 |
<para> |
|---|
| 525 |
Augmenter la valeur de la plupart des paramètres suivants |
|---|
| 526 |
oblige à modifier les options du noyau du système d'exploitation |
|---|
| 527 |
pour augmenter la mémoire alloué à un processus ou à un utilisateur. |
|---|
| 528 |
La documentation en ligne fournit des <ulink |
|---|
| 529 |
url="http://docs.postgresqlfr.org/8.1/kernel-resources.html">informations sur |
|---|
| 530 |
les commandes à utiliser pour de nombreux systèmes d'exploitation</ulink>. Sauf indication |
|---|
| 531 |
contraire, la plupart de ces options s'additionnent pour déterminer |
|---|
| 532 |
la quantité totale de mémoire utilisée par PostgreSQL. |
|---|
| 533 |
</para> |
|---|
| 534 |
</note> |
|---|
| 535 |
|
|---|
| 536 |
<table> |
|---|
| 537 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 538 |
|
|---|
| 539 |
<thead> |
|---|
| 540 |
<row> |
|---|
| 541 |
<entry>Paramètre</entry> |
|---|
| 542 |
<entry>Échelle</entry> |
|---|
| 543 |
<entry>Valeur par défaut</entry> |
|---|
| 544 |
<entry>Positionné au</entry> |
|---|
| 545 |
<entry>-o</entry> |
|---|
| 546 |
<entry>Ce que dit la documentation</entry> |
|---|
| 547 |
<entry>Commentaires</entry> |
|---|
| 548 |
</row> |
|---|
| 549 |
</thead> |
|---|
| 550 |
|
|---|
| 551 |
<tbody> |
|---|
| 552 |
<row> |
|---|
| 553 |
<entry>shared_buffers</entry> |
|---|
| 554 |
<entry>16 à 262143</entry> |
|---|
| 555 |
<entry>1000</entry> |
|---|
| 556 |
<entry> |
|---|
| 557 |
Démarrage |
|---|
| 558 |
</entry> |
|---|
| 559 |
<entry>-B x</entry> |
|---|
| 560 |
<entry> |
|---|
| 561 |
Positionne le nombre de tampons de mémoire partagée utilisé par le |
|---|
| 562 |
serveur de bases de données. Le minimum est 2 X max_connections. |
|---|
| 563 |
La valeur par défaut est généralement 1000 mais elle peut être |
|---|
| 564 |
inférieure si la configuration du noyau l'impose (ce qu'initdb détermine). |
|---|
| 565 |
Chaque tampon représente 8192 octets, à moins qu'une valeur |
|---|
| 566 |
différente de BLCKSZ n'ait été choisie à la compilation. La valeur |
|---|
| 567 |
minimale est de 16 et de deux fois la valeur de max_connections. |
|---|
| 568 |
Néanmoins, un paramétrage significativement supérieur au minimum |
|---|
| 569 |
est souvent nécessaire pour assurer des performances satisfaisantes. |
|---|
| 570 |
En production, il est recommandé d'utiliser une valeur de quelques |
|---|
| 571 |
milliers. |
|---|
| 572 |
</entry> |
|---|
| 573 |
<entry> |
|---|
| 574 |
<para> |
|---|
| 575 |
Le paramétrage de shared_buffers nécessite une discussion bien plus complète |
|---|
| 576 |
que ne l'autorise la place ici disponible. On peut se référer à d'autres |
|---|
| 577 |
articles sur le sujet. |
|---|
| 578 |
</para> |
|---|
| 579 |
<para> |
|---|
| 580 |
Quelques règles empiriques : |
|---|
| 581 |
Sur un serveur PostgreSQL dédié, une valeur convenable se situe en général entre |
|---|
| 582 |
1 000 et 50 000 (8Mo et 400Mo). Les facteurs qui incitent à augmenter |
|---|
| 583 |
la valeur sont des connexions plus nombreuses, des parties actives de la base |
|---|
| 584 |
plus grandes, des requêtes longues et complexes, et des grandes tables. La |
|---|
| 585 |
RAM disponible limite le ombre maximum de shared_buffers ; 1/3 de la RAM |
|---|
| 586 |
disponible est la limite maximale à utiliser. |
|---|
| 587 |
</para> |
|---|
| 588 |
</entry> |
|---|
| 589 |
</row> |
|---|
| 590 |
<row> |
|---|
| 591 |
<entry>temp_buffers</entry> |
|---|
| 592 |
<entry></entry> |
|---|
| 593 |
<entry>1000</entry> |
|---|
| 594 |
<entry>Exécution</entry> |
|---|
| 595 |
<entry></entry> |
|---|
| 596 |
<entry> |
|---|
| 597 |
<para> |
|---|
| 598 |
Positionne le nombre maximum de tampons temporaires utilisés par chaque |
|---|
| 599 |
session de la base. Ce sont des tampons spécifiques à la session utilisés |
|---|
| 600 |
uniquement pour accéder aux tables temporaires. La valeur par défaut est |
|---|
| 601 |
1 000. Le paramètre peut être modifié au cours de la session, tant |
|---|
| 602 |
qu'aucune table temporaire n'a été utilisée ; toute tentative ultérieure |
|---|
| 603 |
n'aura aucun effet sur cette session. |
|---|
| 604 |
</para> |
|---|
| 605 |
<para> |
|---|
| 606 |
Une session alloue les tampons temporaires nécessaires dans la limite de |
|---|
| 607 |
<varname>temp_buffers</varname>. Positionner une grande valeur |
|---|
| 608 |
pour des sessions qui ne nécessitent en fait que peu de tampons temporaires |
|---|
| 609 |
ne coûte qu'un descripteur de tampon, soit 64 octets, par incrément de |
|---|
| 610 |
<varname>temp_buffers</varname>. Toutefois, un tampon utilisé consomme |
|---|
| 611 |
8 192 octets (ou, en général, <symbol>BLCKSZ</symbol> octets). |
|---|
| 612 |
</para> |
|---|
| 613 |
</entry> |
|---|
| 614 |
<entry> |
|---|
| 615 |
</entry> |
|---|
| 616 |
</row> |
|---|
| 617 |
<row> |
|---|
| 618 |
<entry>max_prepared_transactions</entry> |
|---|
| 619 |
<entry></entry> |
|---|
| 620 |
<entry>5</entry> |
|---|
| 621 |
<entry>Démarrage</entry> |
|---|
| 622 |
<entry></entry> |
|---|
| 623 |
<entry> |
|---|
| 624 |
<para> |
|---|
| 625 |
Positionne le nombre maximum de transactions pouvant être simultanément |
|---|
| 626 |
<quote>préparées</quote>. Positionner ce paramètre à 0 désactive la |
|---|
| 627 |
fonctionnalité des transactions préparées. |
|---|
| 628 |
</para> |
|---|
| 629 |
<para> |
|---|
| 630 |
Lorsque les transactions préparées ne sont pas utilisées, ce paramètre peut |
|---|
| 631 |
être positionné à 0. Lorsqu'elles sont utilisées, |
|---|
| 632 |
<varname>max_prepared_transactions</varname> est positionnée à une valeur au |
|---|
| 633 |
minimum égale à max_connections, afin d'éviter les erreurs dans la phase |
|---|
| 634 |
de préparation. |
|---|
| 635 |
</para> |
|---|
| 636 |
<para> |
|---|
| 637 |
L'augmentation de ce paramètre peut obliger |
|---|
| 638 |
<productname>PostgreSQL</productname> à réclamer plus de mémoire partagée |
|---|
| 639 |
<systemitem class="osname">System V</systemitem> que la configuration par |
|---|
| 640 |
défaut du système n'en autorise. |
|---|
| 641 |
</para> |
|---|
| 642 |
</entry> |
|---|
| 643 |
<entry> |
|---|
| 644 |
</entry> |
|---|
| 645 |
</row> |
|---|
| 646 |
<row> |
|---|
| 647 |
<entry> |
|---|
| 648 |
work_mem |
|---|
| 649 |
</entry> |
|---|
| 650 |
<entry>64 à Int Max</entry> |
|---|
| 651 |
<entry>1024</entry> |
|---|
| 652 |
<entry> |
|---|
| 653 |
Exécution |
|---|
| 654 |
</entry> |
|---|
| 655 |
<entry>-S #</entry> |
|---|
| 656 |
<entry> |
|---|
| 657 |
<para> |
|---|
| 658 |
Précise la quantité de mémoire utisable par les opérations de tri interne et |
|---|
| 659 |
les tables de hachage avant d'utiliser des fichiers temporaires. La valeur |
|---|
| 660 |
est indiquée en Ko, la valeur par défaut est 1024 Ko (soit 1 Mo). |
|---|
| 661 |
En cas de requête complexe, de nombreuses opérations de tri ou de hachage |
|---|
| 662 |
peuvent s'exécuter en parallèle ; chacune peut utiliser la quantité |
|---|
| 663 |
de mémoire indiquée par la valeur de ce paramètre avant de commencer à |
|---|
| 664 |
utiliser des fichiers temporaires. De plus, de nombreuses sessions |
|---|
| 665 |
peuvent effectuer ces opérations en parallèle. La mémoire totale |
|---|
| 666 |
utilisée peut être plusieurs fois la valeur de work_mem ; il faut |
|---|
| 667 |
en tenir compte lors du choix de la valeur. Les opérations de tri sont |
|---|
| 668 |
utilisées par ORDER BY, DISTINCT et les jointures. Les tables de hachage |
|---|
| 669 |
sont utilisées dans les jointures de hachage, les aggrégations par hachage |
|---|
| 670 |
et la résolution par hachage des sous-requêtes IN. |
|---|
| 671 |
</para> |
|---|
| 672 |
</entry> |
|---|
| 673 |
<entry> |
|---|
| 674 |
<para> |
|---|
| 675 |
À l'origine appelé sort_mem, le paramètre a été renommé pour refléter |
|---|
| 676 |
l'extension de son rôle au-delà des simples tris. |
|---|
| 677 |
</para> |
|---|
| 678 |
<para> |
|---|
| 679 |
work_mem est un compromis. Une plus grande valeur est utilisée pour : les |
|---|
| 680 |
bases de données volumineuses, les requêtes complexes, une grande quantité de |
|---|
| 681 |
RAM disponible. Une plus petite valeur est recherchée pour : une faible |
|---|
| 682 |
quantité de RAM ou de nombreux accès concurrents. Trouver le bon compromis |
|---|
| 683 |
peut s'avérer délicat. |
|---|
| 684 |
</para> |
|---|
| 685 |
<para> |
|---|
| 686 |
Une autre façon d'ajuster cette valeur consiste à surveiller les fichiers |
|---|
| 687 |
temporaires de PostgreSQL (dans PGDATA/base/OID_BASE/pgsql_tmp) et d'accroître |
|---|
| 688 |
la valeur de sort_mem si de nombreuses requêtes permutent avec ces fichiers. |
|---|
| 689 |
</para> |
|---|
| 690 |
<para> |
|---|
| 691 |
Il ne faut pas oublier que ce paramètre peut être positionné par connexion. |
|---|
| 692 |
Ainsi, dans le cas où seules quelques requêtes très complexes sont à |
|---|
| 693 |
exécuter, la valeur peut être augmentée avant leur exécution, mais conservée |
|---|
| 694 |
basse pour les autres connexions. |
|---|
| 695 |
</para> |
|---|
| 696 |
</entry> |
|---|
| 697 |
</row> |
|---|
| 698 |
<row> |
|---|
| 699 |
<entry> |
|---|
| 700 |
maintenance_work_mem |
|---|
| 701 |
</entry> |
|---|
| 702 |
<entry>1024 à Int Max</entry> |
|---|
| 703 |
<entry>8192</entry> |
|---|
| 704 |
<entry> |
|---|
| 705 |
Exécution |
|---|
| 706 |
</entry> |
|---|
| 707 |
<entry></entry> |
|---|
| 708 |
<entry> |
|---|
| 709 |
Indique la quantité maximale de mémoire à utiliser dans les opérations |
|---|
| 710 |
de maintenance, telles que VACUUM, CREATE INDEX et ALTER TABLE ADD FOREIGN KEY. |
|---|
| 711 |
La valeur est précisée en Ko. La valeur par défaut est 16384 Ko |
|---|
| 712 |
(16 Mo). Puisque seule une de ces opérations peut être effectuée à la fois |
|---|
| 713 |
au cours d'une session, et qu'en général peu se produisent simultanément |
|---|
| 714 |
sur une même installation, il n'y a aucun risque à positionner ce paramètre |
|---|
| 715 |
à une valeur nettement supérieure à celle de work_mem. Une valeur élevée |
|---|
| 716 |
peut améliorer les performances du nettoyage (vacuum) et de la restauration |
|---|
| 717 |
des sauvegardes. |
|---|
| 718 |
</entry> |
|---|
| 719 |
<entry> |
|---|
| 720 |
<para> |
|---|
| 721 |
À l'origine appelé vacuum_mem, le paramètre a été renommé pour refléter l'extension |
|---|
| 722 |
de son rôle à l'allocation de mémoire lors du chargement des index. |
|---|
| 723 |
</para> |
|---|
| 724 |
<para> |
|---|
| 725 |
La valeur par défaut est généralement trop basse. Il en résulte un blocage |
|---|
| 726 |
des E/S du système par les opérations de VACUUM et de créations d'index et/ou |
|---|
| 727 |
des blocages d'objets pendant la permutation. Une valeur convenable est généralement |
|---|
| 728 |
comprise entre 32 Mo et 256 Mo ; cela dépend autant de la RAM |
|---|
| 729 |
disponible que du plus grand volume (attendu) des objets de la base. |
|---|
| 730 |
</para> |
|---|
| 731 |
<para> |
|---|
| 732 |
Tout comme work_mem, ce paramètre peut être fixé à l'exécution, ce qui permet |
|---|
| 733 |
de l'accroître temporairement lors du chargement d'index ou de la création |
|---|
| 734 |
de clés sur des tables volumineuses. |
|---|
| 735 |
</para> |
|---|
| 736 |
</entry> |
|---|
| 737 |
</row> |
|---|
| 738 |
<row> |
|---|
| 739 |
<entry>max_stack_depth</entry> |
|---|
| 740 |
<entry></entry> |
|---|
| 741 |
<entry></entry> |
|---|
| 742 |
<entry></entry> |
|---|
| 743 |
<entry></entry> |
|---|
| 744 |
<entry> |
|---|
| 745 |
Indique la profondeur maximale que peut atteindre la pile d'exécution du serveur |
|---|
| 746 |
en toute sécurité. Le réglage idéal du paramètre correspond à la limite réelle |
|---|
| 747 |
de la pile imposée par le noyau (positionné par ulimit -s ou équivalent), diminué |
|---|
| 748 |
d'une marge de sécurité d'un Mo environ. Cette marge de sécurité est nécessaire |
|---|
| 749 |
parce que la profondeur de la pile n'est pas vérifiée pour chaque routine du |
|---|
| 750 |
serveur, mais uniquement pour les routines potentiellement récursives, telles |
|---|
| 751 |
que les évaluations d'expressions. Une valeur plus grande |
|---|
| 752 |
que la limite réelle du noyau peut conduire une fonction récursive à |
|---|
| 753 |
occasionner un plantage d'un processus serveur. La valeur par défaut de 2048 Ko |
|---|
| 754 |
(2 Mo) est résolument basse et ne risque pas d'occasionner un plantage. Néanmoins, |
|---|
| 755 |
elle peut s'avérer trop petite pour autoriser l'exécution de fonctions complexes. |
|---|
| 756 |
</entry> |
|---|
| 757 |
<entry> |
|---|
| 758 |
<para> |
|---|
| 759 |
Le paramètre s'est appelé max_expr_depth et son unité ne correspondait pas |
|---|
| 760 |
à celle utilisée par la plupart des noyaux systèmes. |
|---|
| 761 |
</para> |
|---|
| 762 |
<para> |
|---|
| 763 |
En cas de dépassement de ce paramètre, un message d'erreur spécifique est |
|---|
| 764 |
produit. À ce moment-là, il peut être augmenté |
|---|
| 765 |
<emphasis>avec précaution</emphasis> ; de nombreux systèmes d'exploitation |
|---|
| 766 |
ont des limites aussi basses que 8 Mo. |
|---|
| 767 |
</para> |
|---|
| 768 |
</entry> |
|---|
| 769 |
</row> |
|---|
| 770 |
</tbody> |
|---|
| 771 |
</tgroup> |
|---|
| 772 |
</table> |
|---|
| 773 |
|
|---|
| 774 |
</sect2> |
|---|
| 775 |
|
|---|
| 776 |
<sect2> |
|---|
| 777 |
<title>Carte de l'espace libre (<foreignphrase>Free Space Map</foreignphrase>)</title> |
|---|
| 778 |
|
|---|
| 779 |
<table> |
|---|
| 780 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 781 |
|
|---|
| 782 |
<thead> |
|---|
| 783 |
<row> |
|---|
| 784 |
<entry>Paramètre</entry> |
|---|
| 785 |
<entry>Échelle</entry> |
|---|
| 786 |
<entry>Valeur par défaut</entry> |
|---|
| 787 |
<entry>Positionné au</entry> |
|---|
| 788 |
<entry>-o</entry> |
|---|
| 789 |
<entry>Ce que dit la documentation</entry> |
|---|
| 790 |
<entry>Commentaires</entry> |
|---|
| 791 |
</row> |
|---|
| 792 |
</thead> |
|---|
| 793 |
|
|---|
| 794 |
<tbody> |
|---|
| 795 |
<row> |
|---|
| 796 |
<entry>max_fsm_pages</entry> |
|---|
| 797 |
<entry>1000 à Int Max</entry> |
|---|
| 798 |
<entry>20000</entry> |
|---|
| 799 |
<entry> |
|---|
| 800 |
Démarrage |
|---|
| 801 |
</entry> |
|---|
| 802 |
<entry></entry> |
|---|
| 803 |
<entry> |
|---|
| 804 |
Positionne le nombre maximum de pages disque pour lesquelles l'espace |
|---|
| 805 |
libre est recherché dans la carte de l'espace libre partagé. |
|---|
| 806 |
Six octets de mémoire partagée sont consommés pour chaque connecteur |
|---|
| 807 |
de page. La valeur doit être supérieure à 16 X max_fsm_relations. |
|---|
| 808 |
</entry> |
|---|
| 809 |
<entry> |
|---|
| 810 |
<para> |
|---|
| 811 |
Un paramétrage correct de la FSM peut éliminer, ou au moins, retarder |
|---|
| 812 |
l'obligation d'exécuter VACUUM FULL et REINDEX. La meilleure façon de le régler |
|---|
| 813 |
est la suivante : |
|---|
| 814 |
<orderedlist> |
|---|
| 815 |
<itemizedlist><para>calculer la fréquence du VACUUM (normal) de la |
|---|
| 816 |
base en fonction des écritures ;</para></itemizedlist> |
|---|
| 817 |
<itemizedlist><para>utiliser la base en fonctionnement |
|---|
| 818 |
normal et exécuter VACUUM VERBOSE ANALYZE à la place de VACUUM, en sauvegardant |
|---|
| 819 |
la sortie dans un fichier ;</para></itemizedlist> |
|---|
| 820 |
<itemizedlist><para>calculer le nombre de pages maximum réclamé |
|---|
| 821 |
par VACUUM et utiliser ce chiffre.</para></itemizedlist> |
|---|
| 822 |
</orderedlist> |
|---|
| 823 |
</para> |
|---|
| 824 |
<para> |
|---|
| 825 |
Alternativement, en cas d'utilisation d'autovacuum, la valeur peut être |
|---|
| 826 |
issue d'un pourcentage du nombre total de pages dans la base, pour coïncider |
|---|
| 827 |
avec le pourcentage d'autovacuum. Quoiqu'il en soit, une page demande peu |
|---|
| 828 |
de mémoire (environ 6 octets). Il est donc préférable d'être généreux plutôt |
|---|
| 829 |
que radin. |
|---|
| 830 |
</para> |
|---|
| 831 |
<para> |
|---|
| 832 |
Pour les base de données qui connaissent des « pics » |
|---|
| 833 |
d'activité (rafales d'un million de mises à jour mais pas d'autre |
|---|
| 834 |
activité des minutes ou des heures durant), ce nombre peut être |
|---|
| 835 |
impossible à optimiser. Les lignes insérées n'ont pas d'impact |
|---|
| 836 |
sur la FSM. Enfin, si le serveur est peu fourni en RAM, augmenter |
|---|
| 837 |
cette valeur peut s'avérer contre-productif. |
|---|
| 838 |
</para> |
|---|
| 839 |
</entry> |
|---|
| 840 |
</row> |
|---|
| 841 |
<row> |
|---|
| 842 |
<entry>max_fsm_relations</entry> |
|---|
| 843 |
<entry>10 à Int Max</entry> |
|---|
| 844 |
<entry>1000</entry> |
|---|
| 845 |
<entry> |
|---|
| 846 |
Démarrage |
|---|
| 847 |
</entry> |
|---|
| 848 |
<entry></entry> |
|---|
| 849 |
<entry> |
|---|
| 850 |
Positionne le nombre maximum de relations (tables et index) pour |
|---|
| 851 |
lesquelles l'espace libre est recherché dans la carte de l'espace libre |
|---|
| 852 |
partagé. Chaque connecteur utilise approximativement 50 octets de mémoire. |
|---|
| 853 |
</entry> |
|---|
| 854 |
<entry> |
|---|
| 855 |
Peu d'utilisateurs peuvent avoir besoin d'ajuster ce paramètre mais il est |
|---|
| 856 |
intéressant de le considérer. FSM_relations doit être au moins équivalent |
|---|
| 857 |
au nombre de tables dans l'ensemble des bases, bases squelettes et schéma |
|---|
| 858 |
système compris. PostgreSQL peut avoir des performances aléatoires |
|---|
| 859 |
si le nombre de FSM_relations est trop faible. |
|---|
| 860 |
</entry> |
|---|
| 861 |
</row> |
|---|
| 862 |
</tbody> |
|---|
| 863 |
</tgroup> |
|---|
| 864 |
</table> |
|---|
| 865 |
|
|---|
| 866 |
</sect2> |
|---|
| 867 |
|
|---|
| 868 |
<sect2> |
|---|
| 869 |
<title>Utilisation des ressources du noyau</title> |
|---|
| 870 |
|
|---|
| 871 |
<table> |
|---|
| 872 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 873 |
|
|---|
| 874 |
<thead> |
|---|
| 875 |
<row> |
|---|
| 876 |
<entry>Paramètre</entry> |
|---|
| 877 |
<entry>Échelle</entry> |
|---|
| 878 |
<entry>Valeur par défaut</entry> |
|---|
| 879 |
<entry>Positionné au</entry> |
|---|
| 880 |
<entry>-o</entry> |
|---|
| 881 |
<entry>Ce que dit la documentation</entry> |
|---|
| 882 |
<entry>Commentaires</entry> |
|---|
| 883 |
</row> |
|---|
| 884 |
</thead> |
|---|
| 885 |
|
|---|
| 886 |
<tbody> |
|---|
| 887 |
<row> |
|---|
| 888 |
<entry>max_files_per_process</entry> |
|---|
| 889 |
<entry>25 à Int Max</entry> |
|---|
| 890 |
<entry>1000</entry> |
|---|
| 891 |
<entry> |
|---|
| 892 |
Démarrage |
|---|
| 893 |
</entry> |
|---|
| 894 |
<entry></entry> |
|---|
| 895 |
<entry> |
|---|
| 896 |
Fixe le nombre maximum de fichiers simultanément ouverts par chaque |
|---|
| 897 |
sous-processus du serveur. La valeur par défaut est 1 000. |
|---|
| 898 |
Si le noyau impose une limite par processus, il n'est pas nécessaire |
|---|
| 899 |
de s'inquiéter de ce paramètre. Mais sur la plupart des plateformes |
|---|
| 900 |
(et notamment BSD), le noyau autorise des processus individuels à ouvrir |
|---|
| 901 |
beaucoup plus de fichiers que le système ne peut en prendre en charge |
|---|
| 902 |
lorsque de nombreux processus essayent tous d'ouvrir ce nombre de fichiers. |
|---|
| 903 |
Si le message d'erreur « Trop de fichiers ouverts » |
|---|
| 904 |
(<foreignphrase>"Too many open files"</foreignphrase>) apparaît, |
|---|
| 905 |
il faut alors essayer de réduire ce paramètre. Il ne peut être |
|---|
| 906 |
fixé qu'au démarrage du serveur. |
|---|
| 907 |
</entry> |
|---|
| 908 |
<entry> |
|---|
| 909 |
D'après la documentation, utiliser essentiellement pour BSD. À considérer uniquement |
|---|
| 910 |
lors de l'apparition de messages « Trop de fichiers ouverts » |
|---|
| 911 |
(<foreignphrase>"Too many open files"</foreignphrase>). |
|---|
| 912 |
</entry> |
|---|
| 913 |
</row> |
|---|
| 914 |
<row> |
|---|
| 915 |
<entry>preload_libraries</entry> |
|---|
| 916 |
<entry>Chemin de fichier</entry> |
|---|
| 917 |
<entry>Vide</entry> |
|---|
| 918 |
<entry> |
|---|
| 919 |
Démarrage |
|---|
| 920 |
</entry> |
|---|
| 921 |
<entry></entry> |
|---|
| 922 |
<entry> |
|---|
| 923 |
<para> |
|---|
| 924 |
Indique les bibliothèques à précharger au démarrage du serveur. Une |
|---|
| 925 |
fonction d'initialisation sans paramètre peut optionnellement être |
|---|
| 926 |
appelée pour chaque bibliothèque. Pour cela, il suffit d'ajouter un |
|---|
| 927 |
double-point et le nom de la fonction d'initialisation après le |
|---|
| 928 |
nom de la bibliothèque. '$libdir/mylib:mylib_init' implique, par exemple, |
|---|
| 929 |
le préchargement de mylib et l'exécution de la fonction mylib_init. |
|---|
| 930 |
Si plusieurs bibliothèques doivent être chargées, leurs noms |
|---|
| 931 |
sont séparés par des virgules. |
|---|
| 932 |
</para> |
|---|
| 933 |
<para> |
|---|
| 934 |
Si une bibliothèque ou une fonction d'initialisation ainsi indiquée |
|---|
| 935 |
n'est pas trouvée, le serveur ne peut pas démarrer. Les bibliothèques |
|---|
| 936 |
du langage procédural de PostgreSQL peuvent être préchargées de cette |
|---|
| 937 |
façon, typiquement en utilisant la syntaxe '$libdir/plXXX:plXXX_init' |
|---|
| 938 |
avec XXX qui peut être pgsql, perl, tcl ou python. |
|---|
| 939 |
</para> |
|---|
| 940 |
<para> |
|---|
| 941 |
Le préchargement (et l'initialisation éventuelle) d'une bibliothèque |
|---|
| 942 |
partagée permet d'éviter le temps de chargement de la bibliothèque |
|---|
| 943 |
la première fois qu'elle est utilisée. Néanmoins, le temps de démarrage |
|---|
| 944 |
de chaque processus serveur peut croître légèrement, même si ce |
|---|
| 945 |
processus n'utilise jamais cette bibliothèque. Cette option n'est |
|---|
| 946 |
donc recommandée que pour les bibliothèques utilisées dans la plupart |
|---|
| 947 |
des sessions. |
|---|
| 948 |
</para> |
|---|
| 949 |
</entry> |
|---|
| 950 |
<entry> |
|---|
| 951 |
Cela n'est utile que pour dans le cas de bases de données spécialisées. |
|---|
| 952 |
Une base de cartographie peut, par exemple, gagner légèrement en performances |
|---|
| 953 |
en préchargeant les bibliothèques GIS. Pour la plupart des systèmes, il est |
|---|
| 954 |
préférable de ne pas renseigner cette option. |
|---|
| 955 |
</entry> |
|---|
| 956 |
</row> |
|---|
| 957 |
</tbody> |
|---|
| 958 |
</tgroup> |
|---|
| 959 |
</table> |
|---|
| 960 |
|
|---|
| 961 |
</sect2> |
|---|
| 962 |
|
|---|
| 963 |
<sect2> |
|---|
| 964 |
<title>Délai de nettoyage (<foreignphrase>vacuum</foreignphrase>)</title> |
|---|
| 965 |
|
|---|
| 966 |
<table> |
|---|
| 967 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 968 |
|
|---|
| 969 |
<thead> |
|---|
| 970 |
<row> |
|---|
| 971 |
<entry>Paramètre</entry> |
|---|
| 972 |
<entry>Échelle</entry> |
|---|
| 973 |
<entry>Valeur par défaut</entry> |
|---|
| 974 |
<entry>Positionné au</entry> |
|---|
| 975 |
<entry>-o</entry> |
|---|
| 976 |
<entry>Ce que dit la documentation</entry> |
|---|
| 977 |
<entry>Commentaires</entry> |
|---|
| 978 |
</row> |
|---|
| 979 |
</thead> |
|---|
| 980 |
|
|---|
| 981 |
<tbody> |
|---|
| 982 |
<row> |
|---|
| 983 |
<entry>vacuum_cost_delay</entry> |
|---|
| 984 |
<entry></entry> |
|---|
| 985 |
<entry>0</entry> |
|---|
| 986 |
<entry>Exécution</entry> |
|---|
| 987 |
<entry></entry> |
|---|
| 988 |
<entry> |
|---|
| 989 |
Le temps, en millisecondes, pendant lequel le processus est endormi lorsque |
|---|
| 990 |
la limite de coût est atteinte. La valeur par défaut est 0, ce qui désactive |
|---|
| 991 |
la fonctionnalité de délai de nettoyage en fonction du coût. Une valeur |
|---|
| 992 |
positive active le nettoyage fonction du coût. Sur la plupart des systèmes, |
|---|
| 993 |
la résolution réelle du délai est de 10 millisecondes ; une valeur |
|---|
| 994 |
de vacuum_cost_delay qui n'est pas un multiple de 10 a le même comportement |
|---|
| 995 |
que le plus petit multiple de 10 supérieur à cette valeur. |
|---|
| 996 |
</entry> |
|---|
| 997 |
<entry> |
|---|
| 998 |
Ce paramètre est très utile lors du nettoyage de tables volumineuses, qui |
|---|
| 999 |
autrement, peut bloquer les E/S pendant de longues périodes ou maintenir |
|---|
| 1000 |
des verrous bloquant de nombreuses requêtes. Pour l'essentiel, l'activation |
|---|
| 1001 |
de ce paramètre découpe le nettoyage d'une table volumineuse en segments |
|---|
| 1002 |
définis comme des unités de travail spécifiques, entre lesquelles le |
|---|
| 1003 |
nettoyage est mis en veille pour le temps défini par le paramètre. Cela a pour |
|---|
| 1004 |
effet d'augmenter parfois considérablement le temps nécessaire au nettoyage, |
|---|
| 1005 |
mais aussi de réduire l'impact du nettoyage sur le système, de l'ordre de 85%. |
|---|
| 1006 |
Une valeur raisonnable est comprise entre 50 ms et 200 ms. |
|---|
| 1007 |
</entry> |
|---|
| 1008 |
</row> |
|---|
| 1009 |
<row> |
|---|
| 1010 |
<entry>vacuum_cost_page_hit</entry> |
|---|
| 1011 |
<entry></entry> |
|---|
| 1012 |
<entry>1</entry> |
|---|
| 1013 |
<entry>Exécution</entry> |
|---|
| 1014 |
<entry></entry> |
|---|
| 1015 |
<entry> |
|---|
| 1016 |
Indique le coût estimé de nettoyage d'un tampon trouvé dans le cache de |
|---|
| 1017 |
tampon partagé. Ce paramètre représente le coût du verrouillage du groupe de |
|---|
| 1018 |
tampons, la recherche de la table de hachage partagée et le parcours du |
|---|
| 1019 |
contenu de la page. |
|---|
| 1020 |
</entry> |
|---|
| 1021 |
<entry> |
|---|
| 1022 |
Il est préférable de ne pas modifier ce paramètre, mais plutôt |
|---|
| 1023 |
vacuum_cost_limit. |
|---|
| 1024 |
</entry> |
|---|
| 1025 |
</row> |
|---|
| 1026 |
<row> |
|---|
| 1027 |
<entry>vacuum_cost_page_miss</entry> |
|---|
| 1028 |
<entry></entry> |
|---|
| 1029 |
<entry>10</entry> |
|---|
| 1030 |
<entry>Exécution</entry> |
|---|
| 1031 |
<entry></entry> |
|---|
| 1032 |
<entry> |
|---|
| 1033 |
Indique le coût estimé de nettoyage d'un tampon à lire sur le disque. Ce |
|---|
| 1034 |
paramètre représente le coût de verrouillage du groupe de tampons, la recherche de la |
|---|
| 1035 |
table de hachage partagée, la lecture du bloc souhaité sur le disque et le |
|---|
| 1036 |
parcours de son contenu. |
|---|
| 1037 |
</entry> |
|---|
| 1038 |
<entry> |
|---|
| 1039 |
Il est préférable de ne pas modifier ce paramètre, mais plutôt |
|---|
| 1040 |
vacuum_cost_limit. |
|---|
| 1041 |
</entry> |
|---|
| 1042 |
</row> |
|---|
| 1043 |
<row> |
|---|
| 1044 |
<entry>vacuum_cost_page_dirty</entry> |
|---|
| 1045 |
<entry></entry> |
|---|
| 1046 |
<entry>20</entry> |
|---|
| 1047 |
<entry>Exécution</entry> |
|---|
| 1048 |
<entry></entry> |
|---|
| 1049 |
<entry> |
|---|
| 1050 |
Indique le coût estimé de la modification par le nettoyeur d'un bloc |
|---|
| 1051 |
précédemment nettoyé. Ce paramètre représente les E/S supplémentaires requises |
|---|
| 1052 |
pour supprimer une nouvelle fois du disque les blocs inutiles. |
|---|
| 1053 |
</entry> |
|---|
| 1054 |
<entry> |
|---|
| 1055 |
Il est préférable de ne pas modifier ce paramètre, mais plutôt |
|---|
| 1056 |
vacuum_cost_limit. |
|---|
| 1057 |
</entry> |
|---|
| 1058 |
</row> |
|---|
| 1059 |
<row> |
|---|
| 1060 |
<entry>vacuum_cost_limit</entry> |
|---|
| 1061 |
<entry></entry> |
|---|
| 1062 |
<entry>200</entry> |
|---|
| 1063 |
<entry>Exécution</entry> |
|---|
| 1064 |
<entry></entry> |
|---|
| 1065 |
<entry> |
|---|
| 1066 |
Indique le coût cumulé qui impose la mise en sommeil du processus de |
|---|
| 1067 |
nettoyage. |
|---|
| 1068 |
</entry> |
|---|
| 1069 |
<entry> |
|---|
| 1070 |
La valeur de ce paramètre est diminuée pour fragmenter le nettoyage en des |
|---|
| 1071 |
« segments » plus nombreux. Une combinaison très |
|---|
| 1072 |
aggressive consiste à positionner vacuum_cost_delay à 200 ms et |
|---|
| 1073 |
vacuum_cost_limit à 50 ms ; cela implique un nettoyage 10 fois plus |
|---|
| 1074 |
long mais sans impact sur les performances de la base de données. Dans la |
|---|
| 1075 |
plupart des cas, le DBA peut être plus modéré. |
|---|
| 1076 |
</entry> |
|---|
| 1077 |
</row> |
|---|
| 1078 |
</tbody> |
|---|
| 1079 |
</tgroup> |
|---|
| 1080 |
</table> |
|---|
| 1081 |
|
|---|
| 1082 |
</sect2> |
|---|
| 1083 |
|
|---|
| 1084 |
<sect2> |
|---|
| 1085 |
<title>Processus d'écriture en arrière-plan (<foreignphrase>Background |
|---|
| 1086 |
Writer</foreignphrase>)</title> |
|---|
| 1087 |
|
|---|
| 1088 |
<table> |
|---|
| 1089 |
<tgroup cols="7" align="left" colsep="1" rowsep="1"> |
|---|
| 1090 |
|
|---|
| 1091 |
<thead> |
|---|
| 1092 |
<row> |
|---|
| 1093 |
<entry>Paramètre</entry> |
|---|
| 1094 |
<entry>Échelle</entry> |
|---|
| 1095 |
<entry>Valeur par défaut</entry> |
|---|
| 1096 |
<entry>Positionné au</entry> |
|---|
| 1097 |
<entry>-o</entry> |
|---|
| 1098 |
<entry>Ce que dit la documentation</entry> |
|---|
| 1099 |
<entry>Commentaires</entry> |
|---|
| 1100 |
</row> |
|---|
| 1101 |
</thead> |
|---|
| 1102 |
|
|---|
| 1103 |
<tbody> |
|---|
| 1104 |
<row> |
|---|
| 1105 |
<entry>bgwriter_delay</entry> |
|---|
| 1106 |
<entry></entry> |
|---|
| 1107 |
<entry>200</entry> |
|---|
| 1108 |
<entry>Démarrage</entry> |
|---|
| 1109 |
<entry></entry> |
|---|
| 1110 |
<entry> |
|---|
| 1111 |
Indique le délai entre les périodes d'activité du processus d'écriture en arrière-plan. À |
|---|
| 1112 |
chaque tour, ce processus écrit sur le disque un certain nombre de tampons |
|---|
| 1113 |
modifiés (nombre ajustable à l'aide des paramètres qui suivent). Les tampons |
|---|
| 1114 |
sélectionnés sont toujours les plus anciens des tampons modifiés. Le processus d'écriture |
|---|
| 1115 |
est alors mis en veille pour bgwriter_delay millisecondes, et ainsi de suite. |
|---|
| 1116 |
</entry> |
|---|
| 1117 |
<entry> |
|---|
| 1118 |
<para> |
|---|
| 1119 |
Fonctionnalité nouvelle, le processus d'écriture en arrière-plan est destiné à |
|---|
| 1120 |
alléger les pics de contrôle. |
|---|
| 1121 |
</para> |
|---|
| 1122 |
<para> |
|---|
| 1123 |
L'OSDL effectue toujours des tests de configuration du bgwriter ; aucune |
|---|
| 1124 |
recommendation ne peut être faite à ce jour. |
|---|
| 1125 |
</para> |
|---|
| 1126 |
</entry> |
|---|
| 1127 |
</row> |
|---|
| 1128 |
<row> |
|---|
| 1129 |
<entry>bgwriter_lru_percent</entry> |
|---|
| 1130 |
<entry></entry> |
|---|
| 1131 |
<entry>1.0</entry> |
|---|
| 1132 |
<entry>Redémarrage</entry> |
|---|
| 1133 |
<entry></entry> |
|---|
| 1134 |
<entry> |
|---|
| 1135 |
Pour réduire la probabilité que les processus serveur n'effectuent leurs |
|---|
| 1136 |
propres écritures, le processus d'écriture en arrière-plan tente d'écrire les tampons |
|---|
| 1137 |
prochainement recyclés. À chaque tour, il examine jusqu'à |
|---|
| 1138 |
<varname>bgwriter_lru_percent</varname> des tampons les plus proches d'un |
|---|
| 1139 |
recyclage et écrit les tampons modifiés. La valeur par défaut est 1.0 |
|---|
| 1140 |
(pourcentage du nombre total de tampons partagés). |
|---|
| 1141 |
</entry> |
|---|
| 1142 |
<entry> |
|---|
| 1143 |
</entry> |
|---|
| 1144 |
</row> |
|---|
| 1145 |
<row> |
|---|
| 1146 |
<entry>bgwriter_lru_maxpages</entry> |
|---|
| 1147 |
<entry></entry> |
|---|
| 1148 |
<entry>5</entry> |
|---|
| 1149 |
<entry>Redémarrage</entry> |
|---|
| 1150 |
<entry></entry> |
|---|
| 1151 |
<entry> |
|---|
| 1152 |
À chaque tour, seul ce nombre de tampons, au maximum, peuvent être écrits |
|---|
| 1153 |
à la suite d'une recherche de tampons « proches du |
|---|
| 1154 |
recyclage ». |
|---|
| 1155 |
</entry> |
|---|
| 1156 |
<entry> |
|---|
| 1157 |
</entry> |
|---|
| 1158 |
</row> |
|---|
| 1159 |
<row> |
|---|
| 1160 |
<entry>bgwriter_all_percent</entry> |
|---|
| 1161 |
<entry></entry> |
|---|
| 1162 |
<entry>0.333</entry> |
|---|
| 1163 |
<entry>Redémarrage</entry> |
|---|
| 1164 |
<entry></entry> |
|---|
| 1165 |
<entry> |
|---|
| 1166 |
Pour réduire la quantité de travail nécessaire à chaque point de co |
|---|