On 03/12/2018 10:48 PM, Nikolay Samokhvalov wrote:
On Tue, Mar 13, 2018 at 1:28 AM, Ron Johnson <ron.l.john...@cox.net <mailto:ron.l.john...@cox.net>> wrote:

    On 03/12/2018 05:20 PM, Nikolay Samokhvalov wrote:
    On Tue, Mar 13, 2018 at 1:05 AM, Ron Johnson <ron.l.john...@cox.net
    <mailto:ron.l.john...@cox.net>> wrote:

        v8.4.12

    This is *very* old version, not supported by the community for many
    years. Check https://www.postgresql.org/ to seecurrentlysupported
    versions.
    You need to upgrade it.

    Don't even think I'm in control of when -- or even if -- the customer
    decides to upgrade.

    That being the case, do you have an answer to the question?


Those queries from wiki for table and index bloat estimation are for estimation only. In many cases they show very wrong results. Better (yet not ideal) approach is using pgstattuple extension (though I'm not sure it existed back in 2009).

Can you provide table and index definition and, if you can, some sample data?

Sadly, no sample data.  (It's all PCI controlled.)

Index idx_item_mapping_rp7_y2016m03itemmapping_custom_userfield_801 has 40% bloat.

Thanks.

--
Angular momentum makes the world go 'round.
TAPd=# \d tms.item_mapping_rp7_y2013m03
                                               Table 
"tms.item_mapping_rp7_y2013m03"
         Column         |            Type             |                         
        Modifiers                                  
------------------------+-----------------------------+----------------------------------------------------------------------------
 item_mapping_id        | integer                     | not null default 
nextval('tms.item_mapping_item_mapping_id_seq'::regclass)
 item_seq_no            | numeric(10,0)               | 
 account_no             | character varying(255)      | 
 amount                 | numeric(21,2)               | 
 gross_amount           | numeric(21,2)               | 
 net_amount             | numeric(21,2)               | 
 amount_3               | numeric(21,2)               | 
 custom_userfield_401   | character varying(255)      | 
 custom_userfield_402   | character varying(255)      | 
 custom_userfield_403   | character varying(255)      | 
 custom_userfield_404   | character varying(255)      | 
 custom_userfield_405   | character varying(255)      | 
 custom_userfield_416   | character varying(16)       | 
 custom_userfield_417   | character varying(16)       | 
 custom_userfield_418   | character varying(16)       | 
 custom_userfield_419   | character varying(16)       | 
 custom_userfield_420   | numeric(10,0)               | 
 custom_userfield_421   | numeric(10,0)               | 
 custom_userfield_422   | numeric(10,0)               | 
 custom_userfield_423   | numeric(21,2)               | 
 custom_userfield_424   | numeric(21,2)               | 
 custom_userfield_425   | numeric(21,2)               | 
 custom_userfield_426   | numeric(10,0)               | 
 custom_userfield_431   | character varying(16)       | 
 custom_userfield_432   | character varying(16)       | 
 custom_userfield_433   | character varying(16)       | 
 custom_userfield_434   | character varying(16)       | 
 custom_userfield_436   | character varying(16)       | 
 custom_userfield_437   | numeric(10,0)               | 
 custom_userfield_438   | numeric(10,0)               | 
 custom_userfield_439   | numeric(10,0)               | 
 custom_userfield_440   | numeric(10,0)               | 
 custom_userfield_441   | numeric(10,0)               | 
 custom_userfield_442   | numeric(10,0)               | 
 custom_userfield_443   | numeric(10,0)               | 
 custom_userfield_444   | character varying(1)        | 
 custom_userfield_445   | character varying(1)        | 
 custom_userfield_446   | character varying(1)        | 
 custom_userfield_447   | character varying(1)        | 
 custom_userfield_448   | character varying(1)        | 
 custom_userfield_449   | character varying(1)        | 
 custom_userfield_450   | character varying(1)        | 
 custom_userfield_451   | character varying(1)        | 
 custom_userfield_452   | character varying(1)        | 
 custom_userfield_453   | numeric(21,2)               | 
 custom_userfield_454   | numeric(21,2)               | 
 custom_userfield_455   | numeric(21,2)               | 
 custom_userfield_456   | numeric(21,2)               | 
 custom_userfield_457   | numeric(21,2)               | 
 custom_userfield_458   | numeric(21,2)               | 
 custom_userfield_459   | numeric(21,2)               | 
 custom_userfield_460   | numeric(21,2)               | 
 cds_invoice_seq_number | numeric(10,0)               | 
 created_on             | timestamp without time zone | not null
 created_by             | integer                     | 
 modified_on            | timestamp without time zone | 
 modified_by            | integer                     | 
 type_id                | numeric(8,0)                | 
 custom_userfield_801   | character varying(256)      | 
 custom_userfield_802   | character varying(256)      | 
 custom_userfield_803   | character varying(256)      | 
 custom_userfield_804   | character varying(256)      | 
 custom_userfield_805   | character varying(256)      | 
 custom_userfield_806   | character varying(256)      | 
 custom_userfield_807   | character varying(256)      | 
 custom_userfield_808   | character varying(256)      | 
 custom_userfield_809   | character varying(256)      | 
 custom_userfield_810   | character varying(256)      | 
 custom_userfield_811   | character varying(256)      | 
 custom_userfield_812   | character varying(256)      | 
 custom_userfield_813   | character varying(256)      | 
 custom_userfield_814   | character varying(256)      | 
 custom_userfield_815   | character varying(256)      | 
 custom_userfield_816   | character varying(256)      | 
 custom_userfield_817   | character varying(256)      | 
 custom_userfield_818   | character varying(256)      | 
 custom_userfield_819   | character varying(256)      | 
 custom_userfield_820   | character varying(256)      | 
 custom_userfield_821   | character varying(256)      | 
 custom_userfield_822   | character varying(256)      | 
 custom_userfield_823   | character varying(256)      | 
 custom_userfield_824   | character varying(256)      | 
 custom_userfield_825   | character varying(256)      | 
 custom_userfield_826   | character varying(256)      | 
 custom_userfield_827   | character varying(256)      | 
 custom_userfield_828   | character varying(256)      | 
 custom_userfield_829   | character varying(256)      | 
 custom_userfield_830   | character varying(256)      | 
 custom_userfield_831   | character varying(256)      | 
 custom_userfield_832   | character varying(256)      | 
 custom_userfield_833   | character varying(256)      | 
 custom_userfield_834   | character varying(256)      | 
 custom_userfield_835   | character varying(256)      | 
 custom_userfield_836   | character varying(256)      | 
 custom_userfield_837   | character varying(256)      | 
 custom_userfield_838   | character varying(256)      | 
 custom_userfield_839   | character varying(256)      | 
 custom_userfield_840   | character varying(256)      | 
 custom_userfield_841   | character varying(256)      | 
 custom_userfield_842   | character varying(256)      | 
 custom_userfield_843   | character varying(256)      | 
 custom_userfield_844   | character varying(256)      | 
 custom_userfield_845   | character varying(256)      | 
 custom_userfield_846   | character varying(256)      | 
 custom_userfield_847   | character varying(256)      | 
 custom_userfield_848   | character varying(256)      | 
 custom_userfield_849   | character varying(256)      | 
 custom_userfield_850   | character varying(256)      | 
 custom_userfield_851   | character varying(256)      | 
 custom_userfield_852   | character varying(256)      | 
 custom_userfield_853   | character varying(256)      | 
 custom_userfield_854   | character varying(256)      | 
 custom_userfield_855   | character varying(256)      | 
 custom_userfield_856   | character varying(256)      | 
 custom_userfield_857   | character varying(256)      | 
 custom_userfield_858   | character varying(256)      | 
 custom_userfield_859   | character varying(256)      | 
 custom_userfield_860   | character varying(256)      | 
 custom_userfield_861   | character varying(256)      | 
 custom_userfield_862   | character varying(256)      | 
 custom_userfield_863   | character varying(256)      | 
 custom_userfield_864   | character varying(256)      | 
 custom_userfield_865   | character varying(256)      | 
 custom_userfield_866   | character varying(256)      | 
 custom_userfield_867   | character varying(256)      | 
 custom_userfield_868   | character varying(256)      | 
 custom_userfield_869   | character varying(256)      | 
 custom_userfield_870   | character varying(256)      | 
 process_date           | date                        | 
 ems_edited             | boolean                     | 
 ems_inserted           | numeric(10,0)               | 
 partition_type         | numeric(10,0)               | 
 data_source_code       | numeric(10,0)               | 
 arc_account_no         | character varying(255)      | 
Indexes:
    "pk_tms_item_mapping_rp7_y2013m03" PRIMARY KEY, btree (item_mapping_id)
    "idx_item_mapping_rp7_y2013m03_amount_3" btree (amount_3)
    "idx_item_mapping_rp7_y2013m03_arc_account_no" btree (arc_account_no)
    "idx_item_mapping_rp7_y2013m03_cds_invoice_seq_number" btree 
(cds_invoice_seq_number)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_416" btree 
(custom_userfield_416)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_417" btree 
(custom_userfield_417)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_418" btree 
(custom_userfield_418)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_419" btree 
(custom_userfield_419)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_420" btree 
(custom_userfield_420)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_421" btree 
(custom_userfield_421)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_431" btree 
(custom_userfield_431)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_432" btree 
(custom_userfield_432)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_433" btree 
(custom_userfield_433)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_434" btree 
(custom_userfield_434)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_436" btree 
(custom_userfield_436)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_803" btree 
(custom_userfield_803)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_804" btree 
(custom_userfield_804)
    "idx_item_mapping_rp7_y2013m03_custom_userfield_805" btree 
(custom_userfield_805)
    "idx_item_mapping_rp7_y2013m03_gross_amount" btree (gross_amount)
    "idx_item_mapping_rp7_y2013m03_net_amount" btree (net_amount)
    "idx_item_mapping_rp7_y2013m03_type_id" btree (type_id)
    "idx_item_mapping_rp7_y2013m03custom_userfield_801" btree 
(custom_userfield_801)
    "idx_item_mapping_rp7_y2013m03custom_userfield_802" btree 
(custom_userfield_802)
    "idx_item_mapping_rp7_y2013m03itemmapping_accountno" btree (account_no)
    "idx_item_mapping_rp7_y2013m03itemmapping_amount" btree (amount)
    "idx_item_mapping_rp7_y2013m03itemmapping_itemseqno" btree (item_seq_no)
    "idx_tms_item_mapping_rp7_y2013m03_partition_type" btree (partition_type)
    "idx_tms_item_mapping_rp7_y2013m03_process_date" btree (process_date)
Check constraints:
    "tms_item_mapping_rp7_y2013m03_constraint" CHECK (process_date >= 
'2013-03-01'::date AND process_date < '2013-09-01'::date AND partition_type = 
7::nu
meric)
Inherits: tms.item_mapping

TAPd=# 
TAPd=# 
TAPd=# \d tms.item_mapping
                                                     Table "tms.item_mapping"
         Column         |            Type             |                         
        Modifiers                                  
------------------------+-----------------------------+----------------------------------------------------------------------------
 item_mapping_id        | integer                     | not null default 
nextval('tms.item_mapping_item_mapping_id_seq'::regclass)
 item_seq_no            | numeric(10,0)               | 
 account_no             | character varying(255)      | 
 amount                 | numeric(21,2)               | 
 gross_amount           | numeric(21,2)               | 
 net_amount             | numeric(21,2)               | 
 amount_3               | numeric(21,2)               | 
 custom_userfield_401   | character varying(255)      | 
 custom_userfield_402   | character varying(255)      | 
 custom_userfield_403   | character varying(255)      | 
 custom_userfield_404   | character varying(255)      | 
 custom_userfield_405   | character varying(255)      | 
 custom_userfield_416   | character varying(16)       | 
 custom_userfield_417   | character varying(16)       | 
 custom_userfield_418   | character varying(16)       | 
 custom_userfield_419   | character varying(16)       | 
 custom_userfield_420   | numeric(10,0)               | 
 custom_userfield_421   | numeric(10,0)               | 
 custom_userfield_422   | numeric(10,0)               | 
 custom_userfield_423   | numeric(21,2)               | 
 custom_userfield_424   | numeric(21,2)               | 
 custom_userfield_425   | numeric(21,2)               | 
 custom_userfield_426   | numeric(10,0)               | 
 custom_userfield_431   | character varying(16)       | 
 custom_userfield_432   | character varying(16)       | 
 custom_userfield_433   | character varying(16)       | 
 custom_userfield_434   | character varying(16)       | 
 custom_userfield_436   | character varying(16)       | 
 custom_userfield_437   | numeric(10,0)               | 
 custom_userfield_438   | numeric(10,0)               | 
 custom_userfield_439   | numeric(10,0)               | 
 custom_userfield_440   | numeric(10,0)               | 
 custom_userfield_441   | numeric(10,0)               | 
 custom_userfield_442   | numeric(10,0)               | 
 custom_userfield_443   | numeric(10,0)               | 
 custom_userfield_444   | character varying(1)        | 
 custom_userfield_445   | character varying(1)        | 
 custom_userfield_446   | character varying(1)        | 
 custom_userfield_447   | character varying(1)        | 
 custom_userfield_448   | character varying(1)        | 
 custom_userfield_449   | character varying(1)        | 
 custom_userfield_450   | character varying(1)        | 
 custom_userfield_451   | character varying(1)        | 
 custom_userfield_452   | character varying(1)        | 
 custom_userfield_453   | numeric(21,2)               | 
 custom_userfield_454   | numeric(21,2)               | 
 custom_userfield_455   | numeric(21,2)               | 
 custom_userfield_456   | numeric(21,2)               | 
 custom_userfield_457   | numeric(21,2)               | 
 custom_userfield_458   | numeric(21,2)               | 
 custom_userfield_459   | numeric(21,2)               | 
 custom_userfield_460   | numeric(21,2)               | 
 cds_invoice_seq_number | numeric(10,0)               | 
 created_on             | timestamp without time zone | not null
 created_by             | integer                     | 
 modified_on            | timestamp without time zone | 
 modified_by            | integer                     | 
 type_id                | numeric(8,0)                | 
 custom_userfield_801   | character varying(256)      | 
 custom_userfield_802   | character varying(256)      | 
 custom_userfield_803   | character varying(256)      | 
 custom_userfield_804   | character varying(256)      | 
 custom_userfield_805   | character varying(256)      | 
 custom_userfield_806   | character varying(256)      | 
 custom_userfield_807   | character varying(256)      | 
 custom_userfield_808   | character varying(256)      | 
 custom_userfield_809   | character varying(256)      | 
 custom_userfield_810   | character varying(256)      | 
 custom_userfield_811   | character varying(256)      | 
 custom_userfield_812   | character varying(256)      | 
 custom_userfield_813   | character varying(256)      | 
 custom_userfield_814   | character varying(256)      | 
 custom_userfield_815   | character varying(256)      | 
 custom_userfield_816   | character varying(256)      | 
 custom_userfield_817   | character varying(256)      | 
 custom_userfield_818   | character varying(256)      | 
 custom_userfield_819   | character varying(256)      | 
 custom_userfield_820   | character varying(256)      | 
 custom_userfield_821   | character varying(256)      | 
 custom_userfield_822   | character varying(256)      | 
 custom_userfield_823   | character varying(256)      | 
 custom_userfield_824   | character varying(256)      | 
 custom_userfield_825   | character varying(256)      | 
 custom_userfield_826   | character varying(256)      | 
 custom_userfield_827   | character varying(256)      | 
 custom_userfield_828   | character varying(256)      | 
 custom_userfield_829   | character varying(256)      | 
 custom_userfield_830   | character varying(256)      | 
 custom_userfield_831   | character varying(256)      | 
 custom_userfield_832   | character varying(256)      | 
 custom_userfield_833   | character varying(256)      | 
 custom_userfield_834   | character varying(256)      | 
 custom_userfield_835   | character varying(256)      | 
 custom_userfield_836   | character varying(256)      | 
 custom_userfield_837   | character varying(256)      | 
 custom_userfield_838   | character varying(256)      | 
 custom_userfield_839   | character varying(256)      | 
 custom_userfield_840   | character varying(256)      | 
 custom_userfield_841   | character varying(256)      | 
 custom_userfield_842   | character varying(256)      | 
 custom_userfield_843   | character varying(256)      | 
 custom_userfield_844   | character varying(256)      | 
 custom_userfield_845   | character varying(256)      | 
 custom_userfield_846   | character varying(256)      | 
 custom_userfield_847   | character varying(256)      | 
 custom_userfield_848   | character varying(256)      | 
 custom_userfield_849   | character varying(256)      | 
 custom_userfield_850   | character varying(256)      | 
 custom_userfield_851   | character varying(256)      | 
 custom_userfield_852   | character varying(256)      | 
 custom_userfield_853   | character varying(256)      | 
 custom_userfield_854   | character varying(256)      | 
 custom_userfield_855   | character varying(256)      | 
 custom_userfield_856   | character varying(256)      | 
 custom_userfield_857   | character varying(256)      | 
 custom_userfield_858   | character varying(256)      | 
 custom_userfield_859   | character varying(256)      | 
 custom_userfield_860   | character varying(256)      | 
 custom_userfield_861   | character varying(256)      | 
 custom_userfield_862   | character varying(256)      | 
 custom_userfield_863   | character varying(256)      | 
 custom_userfield_864   | character varying(256)      | 
 custom_userfield_865   | character varying(256)      | 
 custom_userfield_866   | character varying(256)      | 
 custom_userfield_867   | character varying(256)      | 
 custom_userfield_868   | character varying(256)      | 
 custom_userfield_869   | character varying(256)      | 
 custom_userfield_870   | character varying(256)      | 
 process_date           | date                        | 
 ems_edited             | boolean                     | 
 ems_inserted           | numeric(10,0)               | 
 partition_type         | numeric(10,0)               | 
 data_source_code       | numeric(10,0)               | 
 arc_account_no         | character varying(255)      | 
Indexes:
    "pk_transaction_item_mapping" PRIMARY KEY, btree (item_mapping_id)
Referenced by:
    TABLE "tms.check_item_mapping" CONSTRAINT "fk_checkitemmapping_itemmapping" 
FOREIGN KEY (check_item_mapping_id) REFERENCES tms.item_mapping(item_mapp
ing_id)
    TABLE "tms.doc_item_mapping" CONSTRAINT "fk_docitemmapping_itemmapping" 
FOREIGN KEY (doc_item_mapping_id) REFERENCES tms.item_mapping(item_mapping_id
)
Triggers:
    insert_item_mapping_trigger BEFORE INSERT ON tms.item_mapping FOR EACH ROW 
EXECUTE PROCEDURE tms.item_mapping_insert_function()

Reply via email to