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 1nRbqc-00026I-J5 for pgsql-docs@arkaria.postgresql.org; Tue, 08 Mar 2022 15:34:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nRbqb-0008LC-JB for pgsql-docs@arkaria.postgresql.org; Tue, 08 Mar 2022 15:34:01 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nRbqb-0008L3-9d for pgsql-docs@lists.postgresql.org; Tue, 08 Mar 2022 15:34:01 +0000 Received: from mail-yb1-xb32.google.com ([2607:f8b0:4864:20::b32]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nRbqY-0000yg-SO for pgsql-docs@lists.postgresql.org; Tue, 08 Mar 2022 15:34:00 +0000 Received: by mail-yb1-xb32.google.com with SMTP id u61so38500706ybi.11 for ; Tue, 08 Mar 2022 07:33:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=L6o87rI3mRT2ORRXKSsKWh0Iku1tU1JQJsnDIVuxxGk=; b=JqD+UrPuornIoJ9O2ig4Y1UdzaTuKd3eupbhgDmXF06O1CN2yc011ysQNvXnZlqI7P iD/UhdSgFj2PTAjCOnZpAJkUa2p/MpE0wjY36k3IF4dRuFwmT3gkh4qHxW5mrgRuZ2Cw ivIEOQBggeeEvGnSTHCPUe6jE5v0DGgb8YwouJ5bH+t4sOtxGGopE+9emYXdf6WNmXmV laqx4uWkSmX2/b63BDhHPZ+EngspctEQb7wKw1+3iB/x2ZhssVm5FWeE7MzzmA5qX2yZ eXbiSxKDQwD5p8MwsjVb0nppdbqcZiYjjY0LtjMTypjsTbemQnDPDZW8iAqhOMF1+nvt sohQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=L6o87rI3mRT2ORRXKSsKWh0Iku1tU1JQJsnDIVuxxGk=; b=49C0Jn3BTddWnDEOzZWwnnIwX1IPAIrhzaiRjzwmQJCAXELJtBJHKZDku8gKyW1V0y Isn6gPnG1iU7Fjh9RF4ONEhESCMGUxlXJiHTJM0yjeqYbVjoEMTH5hxwnW80WJ/uWWQY 9DiREkSLqEDuI5sz+x3vdX3G7ykQhwMm6BWF8xc5FRJGYNEIZWHhQXm/qKC9bqbqdvJJ VBEqO4O7KqqD2GVn0Dobcccg4HR5PEg4Ffjc1V0/kqOEPVePRCn/v+JBSPMRJtHK+6E3 bHVPbyxaCknaBlxCgARfm29igmNOhubYMcLSbg9jstO9uL1Fsu5BvZpZFQ9qEKJfNtIo D9Tg== X-Gm-Message-State: AOAM530rMeFBqZb340MyjXwdqzTM0vqa9UWnfTWjI37ma8nncYBQS+mI yuRR3tsjUtYvh0ROksXE2aR6kHNLpRefT5eQ1AgGvBomWnY= X-Google-Smtp-Source: ABdhPJzpmm6DJhmMkJRZCkFofUeo8H9tMH/nSGsoQHpOb0bnv8izRhEvRGfPdEfklgHM/QBkOWZ+v8Yxbn6YkgVRX/A= X-Received: by 2002:a25:e30a:0:b0:625:3d53:91b7 with SMTP id z10-20020a25e30a000000b006253d5391b7mr12708715ybd.499.1646753637776; Tue, 08 Mar 2022 07:33:57 -0800 (PST) MIME-Version: 1.0 From: Jian He Date: Tue, 8 Mar 2022 21:03:47 +0530 Message-ID: Subject: list all the Boolean flags in pg_class that are maintained lazily. To: pgsql-docs@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000009cc0b005d9b6b5d7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009cc0b005d9b6b5d7 Content-Type: text/plain; charset="UTF-8" PostgreSQL: Documentation: 14: 52.11. pg_class > Several of the Boolean flags in pg_class are maintained lazily: they are > guaranteed to be true if that's the correct state, but may not be reset to > false immediately when the condition is no longer true. For example, > relhasindex is set by CREATE INDEX > , but it is > never cleared by DROP INDEX > . Instead, > VACUUM clears > relhasindex if it finds the table has no indexes. This arrangement avoids > race conditions and improves concurrency. 9 boolean flags, 1 already mentioned maintained lazily. Is possible to list all the flags that maintained lazily. or just mention This is only an estimate like *relpage *flags in the same page. --0000000000009cc0b005d9b6b5d7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Several of = the Boolean flags in=C2=A0pg_class=C2=A0are maintained = lazily: they are guaranteed to be true if that's the correct state, but= may not be reset to false immediately when the condition is no longer true= . For example,=C2=A0relhasindex=C2=A0is set by=C2=A0CREATE INDEX, but it is never cleared by=C2=A0DROP INDEX. Instead,=C2=A0VACUUM=C2=A0cl= ears=C2=A0relhasindex=C2=A0if it finds the table has n= o indexes. This arrangement avoids race conditions and improves concurrency= .

9 boolean=C2=A0flags, 1 already=C2= =A0mentioned=C2=A0 maintained lazily.=C2=A0 =C2=A0
Is possible to= list all the flags that maintained=C2=A0 lazily. or just=C2=A0mention=C2= =A0This is only an estimate<= span style=3D"color:rgb(33,37,41);font-family:"Open Sans",sans-se= rif;font-size:14.4px">=C2=A0like relpage=C2=A0flags in the sa= me page.=C2=A0=C2=A0

--0000000000009cc0b005d9b6b5d7--