Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 >

samedi 13 juin 2009

Week-end de juin..Requiem for a dream - Partie VIII

Sympa ce début de week-end...Samedi après-midi ça a été l'occasion de passer un moment en compagnie de personne pour un pique-nique improvisée à la "Promenade de l'Etang"...C'est un ami qui me l'a proposé la veille...Rappelé vers 10h30~11h00 samedi matin, j'avais eu un petit souci de dernier minute avec mon serveur OpenLDAP - souci que j'ai pu bien sûr résoudre en moins de deux ...

Ayant proposé d'amener la café je suis arrivé vers 14h30. Faisant connaissance autour du café, j'ai profité d'être en pleinne nature pour savourer mon week-end...Une nouvelle provenant d'Avignon ce vendredi m'a vraiment fait plaisir. Disons donc que le week-end a bien commencé.

L'espace d'un moment j'avais cru retrouvé la tranquilité de la Réunion, loin des réflexions plus bas que terre et sans grand intérêt et complètement futils de certains. Mais bon comme on dit, je préfère ne pas répondre et laisser les gens dans leur petit monde. Après tout quand celà n'en vaut pas le coup, il ne sert à rien de troubler une certaine tranquilité comme ce fut le cas cet après-midi là.

Enfin bref revenons à ce week-end...Avec deux amis, on a profité pour faire le tour de l'Etang. Puis nous nous sommes posés. Vers 17h30 je suis rentré, fait les courses, m'occuper de Simba et regarder un peu la TV.

lundi 8 juin 2009

[PostgreSQL 8.3] Valeur la plus basse pour shared_buffers pour lancer un serveur

Sans tenir compte du shmmax pour lequel j'ai

postgres@olivia:~$ cat /proc/sys/kernel/shmmax
33554432

Soit shmmax = 33554432 bytes.

Ayant 1 kB = 1024 bytes et 1 MB = 1024kB, j'ai donc shmmax = 33554432/(1024*1024)= 32 MB.

Je suis loin de dépasser ce seuil. D'après la documentation:

D'après http://docs.postgresqlfr.org/8.3/kernel-resources.html, on a donc

PostgreSQL™ utilise un sémaphore par connexion autorisée (max_connections) et par processus autovacuum autorisé (autovacuum_max_workers), le tout par ensemble de 16.

Donc shared_buffers >= (max_connections+autovacuum_max_workers) * 16 kB Comme chez moi autovacuum_max_workers = 3, on aura donc si je mets pour max_connections = 11 donc shared_buffers>=14*16=224

Faisons quelques tentaives:

  1. shared_buffers = 223kB
    postgres@olivia:~$ pg_ctl restart -o "-i -p 5441" -D disk1
    pg_ctl: PID file "disk1/postmaster.pid" does not exist
    Is server running?
    starting server anyway
    postgres: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16
    server starting
    postgres@olivia:~$ pg_ctl status -o "-i -p 5441" -D disk1
    pg_ctl: no server running
    
    Le serveur ne démarre pas!!!
  2. shared_buffers = 224kB
    postgres@olivia:~$ pg_ctl restart -o "-i -p 5441" -D disk1
    pg_ctl: PID file "disk1/postmaster.pid" does not exist
    Is server running?
    starting server anyway
    server starting
    postgres@olivia:~$ LOG:  database system was shut down at 2009-06-08 23:43:29 CEST
    LOG:  database system is ready to accept connections
    LOG:  autovacuum launcher started
    
    postgres@olivia:~$ pg_ctl status -o "-i -p 5441" -D disk1
    pg_ctl: server is running (PID: 16182)
    /opt/pgsql/bin/postgres "-i" "-p" "5441"
    
    Le serveur démarre

dimanche 7 juin 2009

[PostgreSQL 8.3] Relecture des articles de Guillaume Lelarge (Dalibo.org)

Je viens de passer ces derniers jours ainsi que ma soirée de samedi à relire les articles de Guillaume Lelarge - Dalibo.org - sur les divers points de PostgreSQL 8.3

Rien de compliqué en soi mais le cerveau était un peu fatigué ce soir avec tous ces informations qui ont commencées à fuser à gauche et à droite dans mon cerveau: WAL, HOT,VACUUM, wal_buffers etc... Résultat des courses: un petit efferalgan avant d'aller me coucher car trop d'informations dans le cerveau - puisque j'ai une mémoire de poisson rouge à ce qu'il paraît -. Disons que ce soir mon cerveau est en mode VACUUM FULL ...J'aurais quand même appris des choses intéressantes

En tout cas ça m'aura fait du bien de revoir mes acquis que je n'avais pas réactiver depuis plusieurs mois. Merci à toi Guillaume pour la qualité de tes articles. Comme toujours avec toi en dehors de tes qualités de pédagogue, il faut relire tes articles en entier pour trouver la petite phrase ou le paragraphe qui va faire mouche et qui vaudra son pesant d'or ou éguiser ma curiosité...

Liste des articles: http://www.dalibo.org/articles

Je n'ai pas encore exploré les possibilités de la 8.4. Elle est encore en beta pour le moment et n'est prévue que pour cet été/automne 2009

samedi 6 juin 2009

[PostgreSQL 8.3] Remonter dans les logs les requêtes qui se soldent par une erreur

Pendant mes investigations sur la version 8.3, il suffit d'avoir

postgres=# show log_min_error_statement;
 log_min_error_statement 
-------------------------
 error
(1 row)

postgres=# show log_min_messages ;
 log_min_messages 
------------------
 notice
(1 row)

Ces deux paramètres sont à modifier dans le fichier de configuration de PostgreSQL. Au lieu de procéder à un redémarrage du serveur, l'appel à pg_reload_conf() (="SELECT pg_reload_conf()") suffit à prendre en considération les précédentes modifications.