pg.ddx.io  pgsql-general@postgresql.org mailing list archive  
help / color / mirror / Atom feed
Strange avg value size for index on expression in pg_stats
4+ messages / 2 participants
[nested] [flat]

* Strange avg value size for index on expression in pg_stats
@ 2014-11-10 10:52 Jehan-Guillaume de Rorthais <ioguix@free.fr>
  2014-11-10 11:00 ` Re: Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
  2014-11-10 14:39 ` Re: Strange avg value size for index on expression in pg_stats Tom Lane <tgl@sss.pgh.pa.us>
  0 siblings, 2 replies; 4+ messages in thread

From: Jehan-Guillaume de Rorthais @ 2014-11-10 10:52 UTC (permalink / raw)
  To: pgsql-general

Hello,

I'm not sure if I should post here or on pgsql-hackers.

While investigating about a wrong result with my btree bloat estimation query,
I found a strange stat deviation between the average size of a value in its
table and its average size in one index on the "lower" expression.

Take the following scenario:

  postgres@test=# create table test as
  test-# select md5(t::text) AS t 
  test-# from generate_series(1, 1000000) t;
  SELECT 1000000
  
  postgres@test=# create index ON test (lower(t));
  CREATE INDEX
  
  postgres@test=# analyze test;
  ANALYZE
  
  postgres@test=# select tablename, attname, avg_width
  test-# from pg_stats
  test-# where schemaname = 'public';
     tablename    | attname | avg_width 
  ----------------+---------+-----------
   test           | t       |        33
   test_lower_idx | lower   |        36

Md5 values are always 32 bytes long. In the table, pg_stats reports 33 because
of the text header. In the index, the reported value is 36!

Looking at the page layout documentation and in the index using hexdump, I can
not find any answer about this 3 bytes. PFA the "hexdump -C" output from the
index. For each row, we clearly see a 8 bytes row header followed by a ONE byte
value header (43 'C'), the 32 bytes of the md5 and 7 bytes of padding (00).

A wild guess would be that ANALYZE is considering a text field from an
expression has always a 4 bytes header whatever its actual size (text field
header size is one if the value is < 127 bytes long, 4 in other situations).


This tiny difference is the source of a very bad estimation with the Btree bloat
estimation query when values are around an alignement boundary. As instance,
here is the use case that lead me to this:

       tablename      | attname | avg_width 
  --------------------+---------+-----------
   customer           | email   |        23
   customer_lower_idx | lower   |        26

We have an index on email, and another one on lower(index). The first one is
aligned on 24, the second one on 32. Leading to bloat estimation of 17% for
the first one and -1% for the second one (the estimated index size is bigger
than the real one).

Any information about this from a hacker? Do anyone have an explanation about
this? Is it something that's worth posting on pgsql-hackers?


Regards,

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Attachments:

index-lower-hexdump-C.txt (text/plain, 25.8K) download 00000000 00 00 00 00 00 00 00 00 00 00 00 00 30 00 f0 1f |............0...| 00000010 f0 1f 04 20 00 00 00 00 62 31 05 00 02 00 00 00 |... ....b1......| 00000020 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00001ff0 00 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 |................| 00002000 00 00 00 00 00 00 00 00 00 00 00 00 a8 01 30 0d |..............0.| 00002010 f0 1f 04 20 00 00 00 00 c0 9f 60 00 90 9f 60 00 |... ......`...`.| 00002020 60 9f 60 00 30 9f 60 00 00 9f 60 00 d0 9e 60 00 |`.`.0.`...`...`.| 00002030 a0 9e 60 00 70 9e 60 00 40 9e 60 00 10 9e 60 00 |..`.p.`.@.`...`.| 00002040 e0 9d 60 00 b0 9d 60 00 80 9d 60 00 50 9d 60 00 |..`...`...`.P.`.| 00002050 20 9d 60 00 f0 9c 60 00 c0 9c 60 00 90 9c 60 00 | .`...`...`...`.| 00002060 60 9c 60 00 30 9c 60 00 00 9c 60 00 d0 9b 60 00 |`.`.0.`...`...`.| 00002070 a0 9b 60 00 70 9b 60 00 40 9b 60 00 10 9b 60 00 |..`.p.`.@.`...`.| 00002080 e0 9a 60 00 b0 9a 60 00 80 9a 60 00 50 9a 60 00 |..`...`...`.P.`.| 00002090 20 9a 60 00 f0 99 60 00 c0 99 60 00 90 99 60 00 | .`...`...`...`.| 000020a0 60 99 60 00 30 99 60 00 00 99 60 00 d0 98 60 00 |`.`.0.`...`...`.| 000020b0 a0 98 60 00 70 98 60 00 40 98 60 00 10 98 60 00 |..`.p.`.@.`...`.| 000020c0 e0 97 60 00 b0 97 60 00 80 97 60 00 50 97 60 00 |..`...`...`.P.`.| 000020d0 20 97 60 00 f0 96 60 00 c0 96 60 00 90 96 60 00 | .`...`...`...`.| 000020e0 60 96 60 00 30 96 60 00 00 96 60 00 d0 95 60 00 |`.`.0.`...`...`.| 000020f0 a0 95 60 00 70 95 60 00 40 95 60 00 10 95 60 00 |..`.p.`.@.`...`.| 00002100 e0 94 60 00 b0 94 60 00 80 94 60 00 50 94 60 00 |..`...`...`.P.`.| 00002110 20 94 60 00 f0 93 60 00 c0 93 60 00 90 93 60 00 | .`...`...`...`.| 00002120 60 93 60 00 30 93 60 00 00 93 60 00 d0 92 60 00 |`.`.0.`...`...`.| 00002130 a0 92 60 00 70 92 60 00 40 92 60 00 10 92 60 00 |..`.p.`.@.`...`.| 00002140 e0 91 60 00 b0 91 60 00 80 91 60 00 50 91 60 00 |..`...`...`.P.`.| 00002150 20 91 60 00 f0 90 60 00 c0 90 60 00 90 90 60 00 | .`...`...`...`.| 00002160 60 90 60 00 30 90 60 00 00 90 60 00 d0 8f 60 00 |`.`.0.`...`...`.| 00002170 a0 8f 60 00 70 8f 60 00 40 8f 60 00 10 8f 60 00 |..`.p.`.@.`...`.| 00002180 e0 8e 60 00 b0 8e 60 00 80 8e 60 00 50 8e 60 00 |..`...`...`.P.`.| 00002190 20 8e 60 00 f0 8d 60 00 c0 8d 60 00 90 8d 60 00 | .`...`...`...`.| 000021a0 60 8d 60 00 30 8d 60 00 30 8d 60 00 00 00 00 00 |`.`.0.`.0.`.....| 000021b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00002d30 00 00 00 00 53 00 30 40 43 66 65 39 66 63 32 38 |....S.0@Cfe9fc28| 00002d40 39 63 33 66 66 30 61 66 31 34 32 62 36 64 33 62 |9c3ff0af142b6d3b| 00002d50 65 61 64 39 38 61 39 32 33 00 00 00 00 00 00 00 |ead98a923.......| 00002d60 00 00 00 00 41 00 30 40 43 66 63 34 39 30 63 61 |....A.0@Cfc490ca| 00002d70 34 35 63 30 30 62 31 32 34 39 62 62 65 33 35 35 |45c00b1249bbe355| 00002d80 34 61 34 66 64 66 36 66 62 00 00 00 00 00 00 00 |4a4fdf6fb.......| 00002d90 00 00 00 00 4c 00 30 40 43 66 62 64 37 39 33 39 |....L.0@Cfbd7939| 00002da0 64 36 37 34 39 39 37 63 64 62 34 36 39 32 64 33 |d674997cdb4692d3| 00002db0 34 64 65 38 36 33 33 63 34 00 00 00 00 00 00 00 |4de8633c4.......| 00002dc0 00 00 00 00 64 00 30 40 43 66 38 39 39 31 33 39 |....d.0@Cf899139| 00002dd0 64 66 35 65 31 30 35 39 33 39 36 34 33 31 34 31 |df5e105939643141| 00002de0 35 65 37 37 30 63 36 64 64 00 00 00 00 00 00 00 |5e770c6dd.......| 00002df0 00 00 00 00 2c 00 30 40 43 66 37 31 37 37 31 36 |....,.0@Cf717716| 00002e00 33 63 38 33 33 64 66 66 34 62 33 38 66 63 38 64 |3c833dff4b38fc8d| 00002e10 32 38 37 32 66 31 65 63 36 00 00 00 00 00 00 00 |2872f1ec6.......| 00002e20 00 00 00 00 5e 00 30 40 43 66 34 62 39 65 63 33 |....^.0@Cf4b9ec3| 00002e30 30 61 64 39 66 36 38 66 38 39 62 32 39 36 33 39 |0ad9f68f89b29639| 00002e40 37 38 36 63 62 36 32 65 66 00 00 00 00 00 00 00 |786cb62ef.......| 00002e50 00 00 00 00 31 00 30 40 43 66 34 35 37 63 35 34 |....1.0@Cf457c54| 00002e60 35 61 39 64 65 64 38 38 66 31 38 65 63 65 65 34 |5a9ded88f18ecee4| 00002e70 37 31 34 35 61 37 32 63 30 00 00 00 00 00 00 00 |7145a72c0.......| 00002e80 00 00 00 00 50 00 30 40 43 66 30 33 33 61 62 33 |....P.0@Cf033ab3| 00002e90 37 63 33 30 32 30 31 66 37 33 66 31 34 32 34 34 |7c30201f73f14244| 00002ea0 39 64 30 33 37 30 32 38 64 00 00 00 00 00 00 00 |9d037028d.......| 00002eb0 00 00 00 00 62 00 30 40 43 65 64 33 64 32 63 32 |....b.0@Ced3d2c2| 00002ec0 31 39 39 31 65 33 62 65 66 35 65 30 36 39 37 31 |1991e3bef5e06971| 00002ed0 33 61 66 39 66 61 36 63 61 00 00 00 00 00 00 00 |3af9fa6ca.......| 00002ee0 00 00 00 00 03 00 30 40 43 65 63 63 62 63 38 37 |......0@Ceccbc87| 00002ef0 65 34 62 35 63 65 32 66 65 32 38 33 30 38 66 64 |e4b5ce2fe28308fd| 00002f00 39 66 32 61 37 62 61 66 33 00 00 00 00 00 00 00 |9f2a7baf3.......| 00002f10 00 00 00 00 40 00 30 40 43 65 61 35 64 32 66 31 |....@.0@Cea5d2f1| 00002f20 63 34 36 30 38 32 33 32 65 30 37 64 33 61 61 33 |c4608232e07d3aa3| 00002f30 64 39 39 38 65 35 31 33 35 00 00 00 00 00 00 00 |d998e5135.......| 00002f40 00 00 00 00 05 00 30 40 43 65 34 64 61 33 62 37 |......0@Ce4da3b7| 00002f50 66 62 62 63 65 32 33 34 35 64 37 37 37 32 62 30 |fbbce2345d7772b0| 00002f60 36 37 34 61 33 31 38 64 35 00 00 00 00 00 00 00 |674a318d5.......| 00002f70 00 00 00 00 22 00 30 40 43 65 33 36 39 38 35 33 |....".0@Ce369853| 00002f80 64 66 37 36 36 66 61 34 34 65 31 65 64 30 66 66 |df766fa44e1ed0ff| 00002f90 36 31 33 66 35 36 33 62 64 00 00 00 00 00 00 00 |613f563bd.......| 00002fa0 00 00 00 00 61 00 30 40 43 65 32 65 66 35 32 34 |....a.0@Ce2ef524| 00002fb0 66 62 66 33 64 39 66 65 36 31 31 64 35 61 38 65 |fbf3d9fe611d5a8e| 00002fc0 39 30 66 65 66 64 63 39 63 00 00 00 00 00 00 00 |90fefdc9c.......| 00002fd0 00 00 00 00 47 00 30 40 43 65 32 63 34 32 30 64 |....G.0@Ce2c420d| 00002fe0 39 32 38 64 34 62 66 38 63 65 30 66 66 32 65 63 |928d4bf8ce0ff2ec| 00002ff0 31 39 62 33 37 31 35 31 34 00 00 00 00 00 00 00 |19b371514.......| 00003000 00 00 00 00 2e 00 30 40 43 64 39 64 34 66 34 39 |......0@Cd9d4f49| 00003010 35 65 38 37 35 61 32 65 30 37 35 61 31 61 34 61 |5e875a2e075a1a4a| 00003020 36 65 31 62 39 37 37 30 66 00 00 00 00 00 00 00 |6e1b9770f.......| 00003030 00 00 00 00 35 00 30 40 43 64 38 32 63 38 64 31 |....5.0@Cd82c8d1| 00003040 36 31 39 61 64 38 31 37 36 64 36 36 35 34 35 33 |619ad8176d665453| 00003050 63 66 62 32 65 35 35 66 30 00 00 00 00 00 00 00 |cfb2e55f0.......| 00003060 00 00 00 00 27 00 30 40 43 64 36 37 64 38 61 62 |....'.0@Cd67d8ab| 00003070 34 66 34 63 31 30 62 66 32 32 61 61 33 35 33 65 |4f4c10bf22aa353e| 00003080 32 37 38 37 39 31 33 33 63 00 00 00 00 00 00 00 |27879133c.......| 00003090 00 00 00 00 28 00 30 40 43 64 36 34 35 39 32 30 |....(.0@Cd645920| 000030a0 65 33 39 35 66 65 64 61 64 37 62 62 62 65 64 30 |e395fedad7bbbed0| 000030b0 65 63 61 33 66 65 32 65 30 00 00 00 00 00 00 00 |eca3fe2e0.......| 000030c0 00 00 00 00 0a 00 30 40 43 64 33 64 39 34 34 36 |......0@Cd3d9446| 000030d0 38 30 32 61 34 34 32 35 39 37 35 35 64 33 38 65 |802a44259755d38e| 000030e0 36 64 31 36 33 65 38 32 30 00 00 00 00 00 00 00 |6d163e820.......| 000030f0 00 00 00 00 49 00 30 40 43 64 32 64 64 65 61 31 |....I.0@Cd2ddea1| 00003100 38 66 30 30 36 36 35 63 65 38 36 32 33 65 33 36 |8f00665ce8623e36| 00003110 62 64 34 65 33 63 37 63 35 00 00 00 00 00 00 00 |bd4e3c7c5.......| 00003120 00 00 00 00 4f 00 30 40 43 64 31 66 65 31 37 33 |....O.0@Cd1fe173| 00003130 64 30 38 65 39 35 39 33 39 37 61 64 66 33 34 62 |d08e959397adf34b| 00003140 31 64 37 37 65 38 38 64 37 00 00 00 00 00 00 00 |1d77e88d7.......| 00003150 00 00 00 00 4b 00 30 40 43 64 30 39 62 66 34 31 |....K.0@Cd09bf41| 00003160 35 34 34 61 33 33 36 35 61 34 36 63 39 30 37 37 |544a3365a46c9077| 00003170 65 62 62 35 65 33 35 63 33 00 00 00 00 00 00 00 |ebb5e35c3.......| 00003180 00 00 00 00 08 00 30 40 43 63 39 66 30 66 38 39 |......0@Cc9f0f89| 00003190 35 66 62 39 38 61 62 39 31 35 39 66 35 31 66 64 |5fb98ab9159f51fd| 000031a0 30 32 39 37 65 32 33 36 64 00 00 00 00 00 00 00 |0297e236d.......| 000031b0 00 00 00 00 02 00 30 40 43 63 38 31 65 37 32 38 |......0@Cc81e728| 000031c0 64 39 64 34 63 32 66 36 33 36 66 30 36 37 66 38 |d9d4c2f636f067f8| 000031d0 39 63 63 31 34 38 36 32 63 00 00 00 00 00 00 00 |9cc14862c.......| 000031e0 00 00 00 00 57 00 30 40 43 63 37 65 31 32 34 39 |....W.0@Cc7e1249| 000031f0 66 66 63 30 33 65 62 39 64 65 64 39 30 38 63 32 |ffc03eb9ded908c2| 00003200 33 36 62 64 31 39 39 36 64 00 00 00 00 00 00 00 |36bd1996d.......| 00003210 00 00 00 00 10 00 30 40 43 63 37 34 64 39 37 62 |......0@Cc74d97b| 00003220 30 31 65 61 65 32 35 37 65 34 34 61 61 39 64 35 |01eae257e44aa9d5| 00003230 62 61 64 65 39 37 62 61 66 00 00 00 00 00 00 00 |bade97baf.......| 00003240 00 00 00 00 0d 00 30 40 43 63 35 31 63 65 34 31 |......0@Cc51ce41| 00003250 30 63 31 32 34 61 31 30 65 30 64 62 35 65 34 62 |0c124a10e0db5e4b| 00003260 39 37 66 63 32 61 66 33 39 00 00 00 00 00 00 00 |97fc2af39.......| 00003270 00 00 00 00 01 00 30 40 43 63 34 63 61 34 32 33 |......0@Cc4ca423| 00003280 38 61 30 62 39 32 33 38 32 30 64 63 63 35 30 39 |8a0b923820dcc509| 00003290 61 36 66 37 35 38 34 39 62 00 00 00 00 00 00 00 |a6f75849b.......| 000032a0 00 00 00 00 0c 00 30 40 43 63 32 30 61 64 34 64 |......0@Cc20ad4d| 000032b0 37 36 66 65 39 37 37 35 39 61 61 32 37 61 30 63 |76fe97759aa27a0c| 000032c0 39 39 62 66 66 36 37 31 30 00 00 00 00 00 00 00 |99bff6710.......| 000032d0 00 00 00 00 1f 00 30 40 43 63 31 36 61 35 33 32 |......0@Cc16a532| 000032e0 30 66 61 34 37 35 35 33 30 64 39 35 38 33 63 33 |0fa475530d9583c3| 000032f0 34 66 64 33 35 36 65 66 35 00 00 00 00 00 00 00 |4fd356ef5.......| 00003300 00 00 00 00 32 00 30 40 43 63 30 63 37 63 37 36 |....2.0@Cc0c7c76| 00003310 64 33 30 62 64 33 64 63 61 65 66 63 39 36 66 34 |d30bd3dcaefc96f4| 00003320 30 32 37 35 62 64 63 30 61 00 00 00 00 00 00 00 |0275bdc0a.......| 00003330 00 00 00 00 16 00 30 40 43 62 36 64 37 36 37 64 |......0@Cb6d767d| 00003340 32 66 38 65 64 35 64 32 31 61 34 34 62 30 65 35 |2f8ed5d21a44b0e5| 00003350 38 38 36 36 38 30 63 62 39 00 00 00 00 00 00 00 |886680cb9.......| 00003360 00 00 00 00 37 00 30 40 43 62 35 33 62 33 61 33 |....7.0@Cb53b3a3| 00003370 64 36 61 62 39 30 63 65 30 32 36 38 32 32 39 31 |d6ab90ce02682291| 00003380 35 31 63 39 62 64 65 31 31 00 00 00 00 00 00 00 |51c9bde11.......| 00003390 00 00 00 00 4a 00 30 40 43 61 64 36 31 61 62 31 |....J.0@Cad61ab1| 000033a0 34 33 32 32 33 65 66 62 63 32 34 63 37 64 32 35 |43223efbc24c7d25| 000033b0 38 33 62 65 36 39 32 35 31 00 00 00 00 00 00 00 |83be69251.......| 000033c0 00 00 00 00 63 00 30 40 43 61 63 36 32 37 61 62 |....c.0@Cac627ab| 000033d0 31 63 63 62 64 62 36 32 65 63 39 36 65 37 30 32 |1ccbdb62ec96e702| 000033e0 66 30 37 66 36 34 32 35 62 00 00 00 00 00 00 00 |f07f6425b.......| 000033f0 00 00 00 00 0e 00 30 40 43 61 61 62 33 32 33 38 |......0@Caab3238| 00003400 39 32 32 62 63 63 32 35 61 36 66 36 30 36 65 62 |922bcc25a6f606eb| 00003410 35 32 35 66 66 64 63 35 36 00 00 00 00 00 00 00 |525ffdc56.......| 00003420 00 00 00 00 04 00 30 40 43 61 38 37 66 66 36 37 |......0@Ca87ff67| 00003430 39 61 32 66 33 65 37 31 64 39 31 38 31 61 36 37 |9a2f3e71d9181a67| 00003440 62 37 35 34 32 31 32 32 63 00 00 00 00 00 00 00 |b7542122c.......| 00003450 00 00 00 00 36 00 30 40 43 61 36 38 34 65 63 65 |....6.0@Ca684ece| 00003460 65 65 37 36 66 63 35 32 32 37 37 33 32 38 36 61 |ee76fc522773286a| 00003470 38 39 35 62 63 38 34 33 36 00 00 00 00 00 00 00 |895bc8436.......| 00003480 00 00 00 00 25 00 30 40 43 61 35 62 66 63 39 65 |....%.0@Ca5bfc9e| 00003490 30 37 39 36 34 66 38 64 64 64 65 62 39 35 66 63 |07964f8dddeb95fc| 000034a0 35 38 34 63 64 39 36 35 64 00 00 00 00 00 00 00 |584cd965d.......| 000034b0 00 00 00 00 26 00 30 40 43 61 35 37 37 31 62 63 |....&.0@Ca5771bc| 000034c0 65 39 33 65 32 30 30 63 33 36 66 37 63 64 39 64 |e93e200c36f7cd9d| 000034d0 66 64 30 65 35 64 65 61 61 00 00 00 00 00 00 00 |fd0e5deaa.......| 000034e0 00 00 00 00 44 00 30 40 43 61 33 66 33 39 30 64 |....D.0@Ca3f390d| 000034f0 38 38 65 34 63 34 31 66 32 37 34 37 62 66 61 32 |88e4c41f2747bfa2| 00003500 66 31 62 35 66 38 37 64 62 00 00 00 00 00 00 00 |f1b5f87db.......| 00003510 00 00 00 00 2a 00 30 40 43 61 31 64 30 63 36 65 |....*.0@Ca1d0c6e| 00003520 38 33 66 30 32 37 33 32 37 64 38 34 36 31 30 36 |83f027327d846106| 00003530 33 66 34 61 63 35 38 61 36 00 00 00 00 00 00 00 |3f4ac58a6.......| 00003540 00 00 00 00 38 00 30 40 43 39 66 36 31 34 30 38 |....8.0@C9f61408| 00003550 65 33 61 66 62 36 33 33 65 35 30 63 64 66 31 62 |e3afb633e50cdf1b| 00003560 32 30 64 65 36 66 34 36 36 00 00 00 00 00 00 00 |20de6f466.......| 00003570 00 00 00 00 0f 00 30 40 43 39 62 66 33 31 63 37 |......0@C9bf31c7| 00003580 66 66 30 36 32 39 33 36 61 39 36 64 33 63 38 62 |ff062936a96d3c8b| 00003590 64 31 66 38 66 32 66 66 33 00 00 00 00 00 00 00 |d1f8f2ff3.......| 000035a0 00 00 00 00 34 00 30 40 43 39 61 31 31 35 38 31 |....4.0@C9a11581| 000035b0 35 34 64 66 61 34 32 63 61 64 64 62 64 30 36 39 |54dfa42caddbd069| 000035c0 34 61 34 65 39 62 64 63 38 00 00 00 00 00 00 00 |4a4e9bdc8.......| 000035d0 00 00 00 00 14 00 30 40 43 39 38 66 31 33 37 30 |......0@C98f1370| 000035e0 38 32 31 30 31 39 34 63 34 37 35 36 38 37 62 65 |8210194c475687be| 000035f0 36 31 30 36 61 33 62 38 34 00 00 00 00 00 00 00 |6106a3b84.......| 00003600 00 00 00 00 5d 00 30 40 43 39 38 64 63 65 38 33 |....].0@C98dce83| 00003610 64 61 35 37 62 30 33 39 35 65 31 36 33 34 36 37 |da57b0395e163467| 00003620 63 39 64 61 65 35 32 31 62 00 00 00 00 00 00 00 |c9dae521b.......| 00003630 00 00 00 00 52 00 30 40 43 39 37 37 38 64 35 64 |....R.0@C9778d5d| 00003640 32 31 39 63 35 30 38 30 62 39 61 36 61 31 37 62 |219c5080b9a6a17b| 00003650 65 66 30 32 39 33 33 31 63 00 00 00 00 00 00 00 |ef029331c.......| 00003660 00 00 00 00 56 00 30 40 43 39 33 64 62 38 35 65 |....V.0@C93db85e| 00003670 64 39 30 39 63 31 33 38 33 38 66 66 39 35 63 63 |d909c13838ff95cc| 00003680 66 61 39 34 63 65 62 64 39 00 00 00 00 00 00 00 |fa94cebd9.......| 00003690 00 00 00 00 5c 00 30 40 43 39 32 63 63 32 32 37 |....\.0@C92cc227| 000036a0 35 33 32 64 31 37 65 35 36 65 30 37 39 30 32 62 |532d17e56e07902b| 000036b0 32 35 34 64 66 61 64 31 30 00 00 00 00 00 00 00 |254dfad10.......| 000036c0 00 00 00 00 07 00 30 40 43 38 66 31 34 65 34 35 |......0@C8f14e45| 000036d0 66 63 65 65 61 31 36 37 61 35 61 33 36 64 65 64 |fceea167a5a36ded| 000036e0 64 34 62 65 61 32 35 34 33 00 00 00 00 00 00 00 |d4bea2543.......| 000036f0 00 00 00 00 19 00 30 40 43 38 65 32 39 36 61 30 |......0@C8e296a0| 00003700 36 37 61 33 37 35 36 33 33 37 30 64 65 64 30 35 |67a37563370ded05| 00003710 66 35 61 33 62 66 33 65 63 00 00 00 00 00 00 00 |f5a3bf3ec.......| 00003720 00 00 00 00 5a 00 30 40 43 38 36 31 33 39 38 35 |....Z.0@C8613985| 00003730 65 63 34 39 65 62 38 66 37 35 37 61 65 36 34 33 |ec49eb8f757ae643| 00003740 39 65 38 37 39 62 62 32 61 00 00 00 00 00 00 00 |9e879bb2a.......| 00003750 00 00 00 00 5f 00 30 40 43 38 31 32 62 34 62 61 |...._.0@C812b4ba| 00003760 32 38 37 66 35 65 65 30 62 63 39 64 34 33 62 62 |287f5ee0bc9d43bb| 00003770 66 35 62 62 65 38 37 66 62 00 00 00 00 00 00 00 |f5bbe87fb.......| 00003780 00 00 00 00 3d 00 30 40 43 37 66 33 39 66 38 33 |....=.0@C7f39f83| 00003790 31 37 66 62 64 62 31 39 38 38 65 66 34 63 36 32 |17fbdb1988ef4c62| 000037a0 38 65 62 61 30 32 35 39 31 00 00 00 00 00 00 00 |8eba02591.......| 000037b0 00 00 00 00 46 00 30 40 43 37 63 62 62 63 34 30 |....F.0@C7cbbc40| 000037c0 39 65 63 39 39 30 66 31 39 63 37 38 63 37 35 62 |9ec990f19c78c75b| 000037d0 64 31 65 30 36 66 32 31 35 00 00 00 00 00 00 00 |d1e06f215.......| 000037e0 00 00 00 00 59 00 30 40 43 37 36 34 37 39 36 36 |....Y.0@C7647966| 000037f0 62 37 33 34 33 63 32 39 30 34 38 36 37 33 32 35 |b7343c2904867325| 00003800 32 65 34 39 30 66 37 33 36 00 00 00 00 00 00 00 |2e490f736.......| 00003810 00 00 00 00 43 00 30 40 43 37 33 35 62 39 30 62 |....C.0@C735b90b| 00003820 34 35 36 38 31 32 35 65 64 36 63 33 66 36 37 38 |4568125ed6c3f678| 00003830 38 31 39 62 36 65 30 35 38 00 00 00 00 00 00 00 |819b6e058.......| 00003840 00 00 00 00 39 00 30 40 43 37 32 62 33 32 61 31 |....9.0@C72b32a1| 00003850 66 37 35 34 62 61 31 63 30 39 62 33 36 39 35 65 |f754ba1c09b3695e| 00003860 30 63 62 36 63 64 65 37 66 00 00 00 00 00 00 00 |0cb6cde7f.......| 00003870 00 00 00 00 11 00 30 40 43 37 30 65 66 64 66 32 |......0@C70efdf2| 00003880 65 63 39 62 30 38 36 30 37 39 37 39 35 63 34 34 |ec9b086079795c44| 00003890 32 36 33 36 62 35 35 66 62 00 00 00 00 00 00 00 |2636b55fb.......| 000038a0 00 00 00 00 12 00 30 40 43 36 66 34 39 32 32 66 |......0@C6f4922f| 000038b0 34 35 35 36 38 31 36 31 61 38 63 64 66 34 61 64 |45568161a8cdf4ad| 000038c0 32 32 39 39 66 36 64 32 33 00 00 00 00 00 00 00 |2299f6d23.......| 000038d0 00 00 00 00 1d 00 30 40 43 36 65 61 39 61 62 31 |......0@C6ea9ab1| 000038e0 62 61 61 30 65 66 62 39 65 31 39 30 39 34 34 34 |baa0efb9e1909444| 000038f0 30 63 33 31 37 65 32 31 62 00 00 00 00 00 00 00 |0c317e21b.......| 00003900 00 00 00 00 2d 00 30 40 43 36 63 38 33 34 39 63 |....-.0@C6c8349c| 00003910 63 37 32 36 30 61 65 36 32 65 33 62 31 33 39 36 |c7260ae62e3b1396| 00003920 38 33 31 61 38 33 39 38 66 00 00 00 00 00 00 00 |831a8398f.......| 00003930 00 00 00 00 54 00 30 40 43 36 38 64 33 30 61 39 |....T.0@C68d30a9| 00003940 35 39 34 37 32 38 62 63 33 39 61 61 32 34 62 65 |594728bc39aa24be| 00003950 39 34 62 33 31 39 64 32 31 00 00 00 00 00 00 00 |94b319d21.......| 00003960 00 00 00 00 2f 00 30 40 43 36 37 63 36 61 31 65 |..../.0@C67c6a1e| 00003970 37 63 65 35 36 64 33 64 36 66 61 37 34 38 61 62 |7ce56d3d6fa748ab| 00003980 36 64 39 61 66 33 66 64 37 00 00 00 00 00 00 00 |6d9af3fd7.......| 00003990 00 00 00 00 3a 00 30 40 43 36 36 66 30 34 31 65 |....:.0@C66f041e| 000039a0 31 36 61 36 30 39 32 38 62 30 35 61 37 65 32 32 |16a60928b05a7e22| 000039b0 38 61 38 39 63 33 37 39 39 00 00 00 00 00 00 00 |8a89c3799.......| 000039c0 00 00 00 00 0b 00 30 40 43 36 35 31 32 62 64 34 |......0@C6512bd4| 000039d0 33 64 39 63 61 61 36 65 30 32 63 39 39 30 62 30 |3d9caa6e02c990b0| 000039e0 61 38 32 36 35 32 64 63 61 00 00 00 00 00 00 00 |a82652dca.......| 000039f0 00 00 00 00 30 00 30 40 43 36 34 32 65 39 32 65 |....0.0@C642e92e| 00003a00 66 62 37 39 34 32 31 37 33 34 38 38 31 62 35 33 |fb79421734881b53| 00003a10 65 31 65 31 62 31 38 62 36 00 00 00 00 00 00 00 |e1e1b18b6.......| 00003a20 00 00 00 00 20 00 30 40 43 36 33 36 34 64 33 66 |.... .0@C6364d3f| 00003a30 30 66 34 39 35 62 36 61 62 39 64 63 66 38 64 33 |0f495b6ab9dcf8d3| 00003a40 62 35 63 36 65 30 62 30 31 00 00 00 00 00 00 00 |b5c6e0b01.......| 00003a50 00 00 00 00 5b 00 30 40 43 35 34 32 32 39 61 62 |....[.0@C54229ab| 00003a60 66 63 66 61 35 36 34 39 65 37 30 30 33 62 38 33 |fcfa5649e7003b83| 00003a70 64 64 34 37 35 35 32 39 34 00 00 00 00 00 00 00 |dd4755294.......| 00003a80 00 00 00 00 1a 00 30 40 43 34 65 37 33 32 63 65 |......0@C4e732ce| 00003a90 64 33 34 36 33 64 30 36 64 65 30 63 61 39 61 31 |d3463d06de0ca9a1| 00003aa0 35 62 36 31 35 33 36 37 37 00 00 00 00 00 00 00 |5b6153677.......| 00003ab0 00 00 00 00 09 00 30 40 43 34 35 63 34 38 63 63 |......0@C45c48cc| 00003ac0 65 32 65 32 64 37 66 62 64 65 61 31 61 66 63 35 |e2e2d7fbdea1afc5| 00003ad0 31 63 37 63 36 61 64 32 36 00 00 00 00 00 00 00 |1c7c6ad26.......| 00003ae0 00 00 00 00 3e 00 30 40 43 34 34 66 36 38 33 61 |....>.0@C44f683a| 00003af0 38 34 31 36 33 62 33 35 32 33 61 66 65 35 37 63 |84163b3523afe57c| 00003b00 32 65 30 30 38 62 63 38 63 00 00 00 00 00 00 00 |2e008bc8c.......| 00003b10 00 00 00 00 51 00 30 40 43 34 33 65 63 35 31 37 |....Q.0@C43ec517| 00003b20 64 36 38 62 36 65 64 64 33 30 31 35 62 33 65 64 |d68b6edd3015b3ed| 00003b30 63 39 61 31 31 33 36 37 62 00 00 00 00 00 00 00 |c9a11367b.......| 00003b40 00 00 00 00 55 00 30 40 43 33 65 66 38 31 35 34 |....U.0@C3ef8154| 00003b50 31 36 66 37 37 35 30 39 38 66 65 39 37 37 30 30 |16f775098fe97700| 00003b60 34 30 31 35 63 36 31 39 33 00 00 00 00 00 00 00 |4015c6193.......| 00003b70 00 00 00 00 15 00 30 40 43 33 63 35 39 64 63 30 |......0@C3c59dc0| 00003b80 34 38 65 38 38 35 30 32 34 33 62 65 38 30 37 39 |48e8850243be8079| 00003b90 61 35 63 37 34 64 30 37 39 00 00 00 00 00 00 00 |a5c74d079.......| 00003ba0 00 00 00 00 17 00 30 40 43 33 37 36 39 33 63 66 |......0@C37693cf| 00003bb0 63 37 34 38 30 34 39 65 34 35 64 38 37 62 38 63 |c748049e45d87b8c| 00003bc0 37 64 38 62 39 61 61 63 64 00 00 00 00 00 00 00 |7d8b9aacd.......| 00003bd0 00 00 00 00 4e 00 30 40 43 33 35 66 34 61 38 64 |....N.0@C35f4a8d| 00003be0 34 36 35 65 36 65 31 65 64 63 30 35 66 33 64 38 |465e6e1edc05f3d8| 00003bf0 61 62 36 35 38 63 35 35 31 00 00 00 00 00 00 00 |ab658c551.......| 00003c00 00 00 00 00 1e 00 30 40 43 33 34 31 37 33 63 62 |......0@C34173cb| 00003c10 33 38 66 30 37 66 38 39 64 64 62 65 62 63 32 61 |38f07f89ddbebc2a| 00003c20 63 39 31 32 38 33 30 33 66 00 00 00 00 00 00 00 |c9128303f.......| 00003c30 00 00 00 00 29 00 30 40 43 33 34 31 36 61 37 35 |....).0@C3416a75| 00003c40 66 34 63 65 61 39 31 30 39 35 30 37 63 61 63 64 |f4cea9109507cacd| 00003c50 38 65 32 66 32 61 65 66 63 00 00 00 00 00 00 00 |8e2f2aefc.......| 00003c60 00 00 00 00 1c 00 30 40 43 33 33 65 37 35 66 66 |......0@C33e75ff| 00003c70 30 39 64 64 36 30 31 62 62 65 36 39 66 33 35 31 |09dd601bbe69f351| 00003c80 30 33 39 31 35 32 31 38 39 00 00 00 00 00 00 00 |039152189.......| 00003c90 00 00 00 00 48 00 30 40 43 33 32 62 62 39 30 65 |....H.0@C32bb90e| 00003ca0 38 39 37 36 61 61 62 35 32 39 38 64 35 64 61 31 |8976aab5298d5da1| 00003cb0 30 66 65 36 36 66 32 31 64 00 00 00 00 00 00 00 |0fe66f21d.......| 00003cc0 00 00 00 00 42 00 30 40 43 33 32 39 35 63 37 36 |....B.0@C3295c76| 00003cd0 61 63 62 66 34 63 61 61 65 64 33 33 63 33 36 62 |acbf4caaed33c36b| 00003ce0 31 62 35 66 63 32 63 62 31 00 00 00 00 00 00 00 |1b5fc2cb1.......| 00003cf0 00 00 00 00 58 00 30 40 43 32 61 33 38 61 34 61 |....X.0@C2a38a4a| 00003d00 39 33 31 36 63 34 39 65 35 61 38 33 33 35 31 37 |9316c49e5a833517| 00003d10 63 34 35 64 33 31 30 37 30 00 00 00 00 00 00 00 |c45d31070.......| 00003d20 00 00 00 00 4d 00 30 40 43 32 38 64 64 32 63 37 |....M.0@C28dd2c7| 00003d30 39 35 35 63 65 39 32 36 34 35 36 32 34 30 62 32 |955ce926456240b2| 00003d40 66 66 30 31 30 30 62 64 65 00 00 00 00 00 00 00 |ff0100bde.......| 00003d50 00 00 00 00 33 00 30 40 43 32 38 33 38 30 32 33 |....3.0@C2838023| 00003d60 61 37 37 38 64 66 61 65 63 64 63 32 31 32 37 30 |a778dfaecdc21270| 00003d70 38 66 37 32 31 62 37 38 38 00 00 00 00 00 00 00 |8f721b788.......| 00003d80 00 00 00 00 60 00 30 40 43 32 36 36 35 37 64 35 |....`.0@C26657d5| 00003d90 66 66 39 30 32 30 64 32 61 62 65 66 65 35 35 38 |ff9020d2abefe558| 00003da0 37 39 36 62 39 39 35 38 34 00 00 00 00 00 00 00 |796b99584.......| 00003db0 00 00 00 00 18 00 30 40 43 31 66 66 31 64 65 37 |......0@C1ff1de7| 00003dc0 37 34 30 30 35 66 38 64 61 31 33 66 34 32 39 34 |74005f8da13f4294| 00003dd0 33 38 38 31 63 36 35 35 66 00 00 00 00 00 00 00 |3881c655f.......| 00003de0 00 00 00 00 13 00 30 40 43 31 66 30 65 33 64 61 |......0@C1f0e3da| 00003df0 64 39 39 39 30 38 33 34 35 66 37 34 33 39 66 38 |d99908345f7439f8| 00003e00 66 66 61 62 64 66 66 63 34 00 00 00 00 00 00 00 |ffabdffc4.......| 00003e10 00 00 00 00 23 00 30 40 43 31 63 33 38 33 63 64 |....#.0@C1c383cd| 00003e20 33 30 62 37 63 32 39 38 61 62 35 30 32 39 33 61 |30b7c298ab50293a| 00003e30 64 66 65 63 62 37 62 31 38 00 00 00 00 00 00 00 |dfecb7b18.......| 00003e40 00 00 00 00 24 00 30 40 43 31 39 63 61 31 34 65 |....$.0@C19ca14e| 00003e50 37 65 61 36 33 32 38 61 34 32 65 30 65 62 31 33 |7ea6328a42e0eb13| 00003e60 64 35 38 35 65 34 63 32 32 00 00 00 00 00 00 00 |d585e4c22.......| 00003e70 00 00 00 00 21 00 30 40 43 31 38 32 62 65 30 63 |....!.0@C182be0c| 00003e80 35 63 64 63 64 35 30 37 32 62 62 31 38 36 34 63 |5cdcd5072bb1864c| 00003e90 64 65 65 34 64 33 64 36 65 00 00 00 00 00 00 00 |dee4d3d6e.......| 00003ea0 00 00 00 00 2b 00 30 40 43 31 37 65 36 32 31 36 |....+.0@C17e6216| 00003eb0 36 66 63 38 35 38 36 64 66 61 34 64 31 62 63 30 |6fc8586dfa4d1bc0| 00003ec0 65 31 37 34 32 63 30 38 62 00 00 00 00 00 00 00 |e1742c08b.......| 00003ed0 00 00 00 00 06 00 30 40 43 31 36 37 39 30 39 31 |......0@C1679091| 00003ee0 63 35 61 38 38 30 66 61 66 36 66 62 35 65 36 30 |c5a880faf6fb5e60| 00003ef0 38 37 65 62 31 62 32 64 63 00 00 00 00 00 00 00 |87eb1b2dc.......| 00003f00 00 00 00 00 45 00 30 40 43 31 34 62 66 61 36 62 |....E.0@C14bfa6b| 00003f10 62 31 34 38 37 35 65 34 35 62 62 61 30 32 38 61 |b14875e45bba028a| 00003f20 32 31 65 64 33 38 30 34 36 00 00 00 00 00 00 00 |21ed38046.......| 00003f30 00 00 00 00 3b 00 30 40 43 30 39 33 66 36 35 65 |....;.0@C093f65e| 00003f40 30 38 30 61 32 39 35 66 38 30 37 36 62 31 63 35 |080a295f8076b1c5| 00003f50 37 32 32 61 34 36 61 61 32 00 00 00 00 00 00 00 |722a46aa2.......| 00003f60 00 00 00 00 3c 00 30 40 43 30 37 32 62 30 33 30 |....<.0@C072b030| 00003f70 62 61 31 32 36 62 32 66 34 62 32 33 37 34 66 33 |ba126b2f4b2374f3| 00003f80 34 32 62 65 39 65 64 34 34 00 00 00 00 00 00 00 |42be9ed44.......| 00003f90 00 00 00 00 3f 00 30 40 43 30 33 61 66 64 62 64 |....?.0@C03afdbd| 00003fa0 36 36 65 37 39 32 39 62 31 32 35 66 38 35 39 37 |66e7929b125f8597| 00003fb0 38 33 34 66 61 38 33 61 34 00 00 00 00 00 00 00 |834fa83a4.......| 00003fc0 00 00 00 00 1b 00 30 40 43 30 32 65 37 34 66 31 |......0@C02e74f1| 00003fd0 30 65 30 33 32 37 61 64 38 36 38 64 31 33 38 66 |0e0327ad868d138f| 00003fe0 32 62 34 66 64 64 36 66 30 00 00 00 00 00 00 00 |2b4fdd6f0.......| 00003ff0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 |................| 00004000
^ permalink raw reply [nested|flat] 4+ messages in thread

* Re: Strange avg value size for index on expression in pg_stats
  2014-11-10 10:52 Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
@ 2014-11-10 11:00 ` Jehan-Guillaume de Rorthais <ioguix@free.fr>
  1 sibling, 0 replies; 4+ messages in thread

From: Jehan-Guillaume de Rorthais @ 2014-11-10 11:00 UTC (permalink / raw)
  To: pgsql-general

On Mon, 10 Nov 2014 11:52:54 +0100
Jehan-Guillaume de Rorthais <ioguix@free.fr> wrote:

> Hello,
> 
> I'm not sure if I should post here or on pgsql-hackers.
> 
> While investigating about a wrong result with my btree bloat estimation query,
> I found a strange stat deviation between the average size of a value in its
> table and its average size in one index on the "lower" expression.

Oh, I forgot to add links to this query, for testing purpose:

  * https://gist.github.com/ioguix/c29d5790b8b93bf81c27
  * explanations, see http://blog.ioguix.net/tag/bloat/

Cheers,


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



^ permalink  raw  reply  [nested|flat] 4+ messages in thread

* Re: Strange avg value size for index on expression in pg_stats
  2014-11-10 10:52 Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
@ 2014-11-10 14:39 ` Tom Lane <tgl@sss.pgh.pa.us>
  2014-11-10 15:41   ` Re: Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
  1 sibling, 1 reply; 4+ messages in thread

From: Tom Lane @ 2014-11-10 14:39 UTC (permalink / raw)
  To: Jehan-Guillaume de Rorthais <ioguix@free.fr>; +Cc: pgsql-general

Jehan-Guillaume de Rorthais <ioguix@free.fr> writes:
> While investigating about a wrong result with my btree bloat estimation query,
> I found a strange stat deviation between the average size of a value in its
> table and its average size in one index on the "lower" expression.

ANALYZE doesn't look at the physical index at all.  For an expression
index, it will recompute the index expression at each sampled row, and
then take statistics on those values.  In the case you've got here, it's
re-running the lower() function and looking at the uncompressed result.
So that accounts for the discrepancy in average width stats.

> This tiny difference is the source of a very bad estimation with the
> Btree bloat estimation query when values are around an alignement
> boundary.

TBH, if that query is relying on ANALYZE width estimates to be accurate
to the last byte, its reliability is going to be horrid anyway.

			regards, tom lane


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



^ permalink  raw  reply  [nested|flat] 4+ messages in thread

* Re: Strange avg value size for index on expression in pg_stats
  2014-11-10 10:52 Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
  2014-11-10 14:39 ` Re: Strange avg value size for index on expression in pg_stats Tom Lane <tgl@sss.pgh.pa.us>
@ 2014-11-10 15:41   ` Jehan-Guillaume de Rorthais <ioguix@free.fr>
  0 siblings, 0 replies; 4+ messages in thread

From: Jehan-Guillaume de Rorthais @ 2014-11-10 15:41 UTC (permalink / raw)
  To: Tom Lane <tgl@sss.pgh.pa.us>; +Cc: pgsql-general

On Mon, 10 Nov 2014 09:39:23 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Jehan-Guillaume de Rorthais <ioguix@free.fr> writes:
> > While investigating about a wrong result with my btree bloat estimation
> > query, I found a strange stat deviation between the average size of a value
> > in its table and its average size in one index on the "lower" expression.
> 
> ANALYZE doesn't look at the physical index at all.  For an expression
> index, it will recompute the index expression at each sampled row, and
> then take statistics on those values.  In the case you've got here, it's
> re-running the lower() function and looking at the uncompressed result.
> So that accounts for the discrepancy in average width stats.

Ok, understood.

But in my demo scenario, I used *only* md5 to populate the test table. So
data length is always 32 and the average width length is exact. No possible
deviation, even with lower(). To be quite dense:

  postgres@test=# select 
    length(lower(md5('a'))) = length(md5('b')), 
    length(md5('c')) = length(md5('d'));
  -[ RECORD 1 ]
  ?column? | t
  ?column? | t

And here is another test with a static string for all rows:

  postgres@test=# create table test as
  select '1234567890123456789012'::text as t
  from generate_series(1,100);
  SELECT 100
  
  postgres@test=# create index ON test (lower(t));
  CREATE INDEX
  
  postgres@test=# analyze test;
  ANALYZE

  postgres@test=# select tablename, attname, avg_width
  from pg_stats
  where schemaname = 'public';
     tablename    | attname | avg_width 
  ----------------+---------+-----------
   test           | t       |        23
   test_lower_idx | lower   |        26


AFAIU, we should not have a discrepancy here.

> > This tiny difference is the source of a very bad estimation with the
> > Btree bloat estimation query when values are around an alignement
> > boundary.
> 
> TBH, if that query is relying on ANALYZE width estimates to be accurate
> to the last byte, its reliability is going to be horrid anyway.

Well, I'm aware of that. I don't need an accuracy to the last byte. This query
doesn't even pay attention to the data alignment padding anyway (I measured some
10% deviation in a case because of this).

This request only helps guessing the bloat evolution in Btrees or quickly
discover *big* deviations. In many situations, we can not afford a call to
pgstattuple.avg_leaf_density().

But this statistic difference between two values with the exact same size is
itching me. Sa far, I couldn't find a logical explanation and it just looks
like a wrong statistic.

Regards,
-- 
Jehan-Guillaume (ioguix) de Rorthais


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



^ permalink  raw  reply  [nested|flat] 4+ messages in thread


end of thread, other threads:[~2014-11-10 15:41 UTC | newest]

Thread overview: 4+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2014-11-10 10:52 Strange avg value size for index on expression in pg_stats Jehan-Guillaume de Rorthais <ioguix@free.fr>
2014-11-10 11:00 ` Jehan-Guillaume de Rorthais <ioguix@free.fr>
2014-11-10 14:39 ` Tom Lane <tgl@sss.pgh.pa.us>
2014-11-10 15:41   ` Jehan-Guillaume de Rorthais <ioguix@free.fr>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox