Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOp1X-0000uz-Ti for pgsql-admin@arkaria.postgresql.org; Wed, 15 Apr 2020 20:52:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jOp1W-0003Yk-8C for pgsql-admin@arkaria.postgresql.org; Wed, 15 Apr 2020 20:52:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOp1V-0003Yd-VB for pgsql-admin@lists.postgresql.org; Wed, 15 Apr 2020 20:52:42 +0000 Received: from mout.gmx.net ([212.227.15.15]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jOp1T-0006BF-Gk for pgsql-admin@lists.postgresql.org; Wed, 15 Apr 2020 20:52:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1586983956; bh=hMyilWoeAE8OFQzcDdJ76Qw9g6VIv2QFe2/5zsb+wKs=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=ewEJDkBhDScC5ebBGsa7D/s7C/+BvGBpbd3/qvSV6CcQdHRdF9xhxN7qs8/kiLgKx pfzyUUOc4w4sPVcQ67BVCpDwNjqccdb0Of+/acQGyNB1DXXDEMnjNF/AIgRn2Hvb4T kSYMy+zmQXhd6WvaS5Fhc6NOlP1gfeQAOP0RenNk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.20] ([188.174.170.255]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MeCtZ-1inpuV1MkJ-00bMwd for ; Wed, 15 Apr 2020 22:52:36 +0200 Subject: Re: Materialized View Estimation in Postgres To: pgsql-admin@lists.postgresql.org References: From: Thomas Kellerer Message-ID: <57c9152b-85bf-6b9e-d1e2-8f0278882596@gmx.net> Date: Wed, 15 Apr 2020 22:52:35 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:12BzuCAVFE3aydND4DZsfj43ffefr//aY2NnueThnqNW18myK09 RIdeTnW97KvwtJAun3hJlseFsvh4dWVeoz9ucKePR+IhwEcqJ4nVrD5b04meRxicupMki15 u0wgXKrwIQOUDB15FQlu6lgocuqVdXHJapO34M5ox03TqsqaX8dKTjK2fSmzCLRGN1enOQx 8BmuRvIY292Q+FwBqzfhQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:2SAABkch6D4=:YWSSaexLVQj5raDMK8HbqP yTuU8PyTgpRo008DFp0qEnisxk9m04/nfmYPK7bxCrTs7749HTOdKS9uu7ppMY8mi5LutTXa4 jtsyWJ5P3KBCXHZro0meNjUb/kfwixTWhmK+q1UAigWSNwOBDbLwa80Y6qG3t1FdCzAGX3IIc 82a8dDepkIMiSD/BOXaHyQGmfQZY+Mjdib8rltXV9ezRsr0sFM1FXf2Hh29kv2Bx/bjym8Ynp WBErc/YOnFCxq5JXYi5f9Xwb0o7bHbf7+dOl6xhoEElwC1ZqOp4owgkzBPQiSyFnevXAdLaWN M2HHaJznSYhI6bDBqFDR2qExWwCD4geY03u3y//r3HNFDRPYrGacPKSw2zgbw4ZR0e2dJN6qN HOqKSGyd4h6OHRnwZJt7pdfsZn6qrxokVcf+jEt1SaNAch65Btmta+m08GNu8oL/PaY3N2BG/ p7er/6ootWdzeel2o7nvtG2qQHkTWGN3A3lLaIAQubPfgLj6vdTMoepdntv/NK+ScVkaMTqvu Kw7f8lpWVbxb6/09tz8mQ3bAkYBsTNPop87SHkjKgLjMSXweLIxGWjP2uEvn++1Nu4yzad+n6 EzDoe0bLDFracIqby3xmD1PGMmbSJfkWUQoIoY5uuWfb8T2okn5zXMnjMcXeHC3fdTN0U20gt caQpK0+eLIq+oSGqqWmpPMZWeCkyVeiNDycNJW5ND9Af7qghBW3iTEiUznSXGZsqFkUzUxUQ0 Le+3F+DcpqgxFD0qgLD3cPz/QZNa+1qwK5Ft2zn5ssKQ+aJb5Mzt4nhvLJ2CFKbkZYuA87FOL cZ5/Xb8kkNPJCip3R7T+eDxBkGWGemjAJ65VP+oIy+95FvZHDTUArKYSSWIb0tWL2n2ZKw9iV gK/3mv1wABKl+YXvwAjkSjG/8I4bukKY8j5q2ry4qNePVUdt4BuvgyQ5TUmOrGa6G7ho58YMV LHp/tCLvjXUdlnbrSplbb4Bgd8GjUgOdF2lnvFW4NVLQtMypU63qicNf3IRdNNVSjIfeuc1/W d3i8vz8Q6anZIZomL6CMJ0KoXhUTiMPfFXeL+6JttZa2Fw//tQ4y2FlAfxgRF1esWyC50R8uF WpFkfNXC36y2HfA8sKcNQaLcgZZ+aKOwCfKClCULZGfT94WAsxFFN6QVVp8zXmiIfhsccQY+T TZLHnTYfc6H+EGxFsdrF49lG38XWEP3PydO6C+m5G9hb0nBzsfldTVixxssnBJWfUDQN3aHFW rpMQEqMf+IXAd3EM1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk > I would like to know if there are any oracle equivalent of > dbms_mview.estimate_mview_size in Postgres as we have been using it > in Oracle for estimating required size for the upcoming mviews but > after migration to Postgres we find it very hard to estimate the > size.. Sometime our rds ran out of space and we had to spend lot of > efforts and time to bring back the rds once after rds storage is > exhausted. Or is there any other options available which can be used > to estimate the size. A very rough estimation could be to use pg_column_size() on the rows of your SELECT statement and aggregate that. Despite it's name pg_column_size() also calculates the size of a complete row. select sum(pg_column_size(mv)) from ( .... your select statement here ... ) mv;