]> granicus.if.org Git - postgresql/blobdiff - doc/src/sgml/catalogs.sgml
TABLESAMPLE, SQL Standard and extensible
[postgresql] / doc / src / sgml / catalogs.sgml
index 6c51974961bf4685a0002bb2a4fae579275be0e4..5b364876093d1056eb9e88a76012fbebc0faee39 100644 (file)
       <entry>planner statistics</entry>
      </row>
 
+     <row>
+      <entry><link linkend="catalog-pg-tablesample-method"><structname>pg_tablesample_method</structname></link></entry>
+      <entry>table sampling methods</entry>
+     </row>
+
      <row>
       <entry><link linkend="catalog-pg-tablespace"><structname>pg_tablespace</structname></link></entry>
       <entry>tablespaces within this database cluster</entry>
  </sect1>
 
 
+ <sect1 id="catalog-pg-tablesample-method">
+  <title><structname>pg_tabesample_method</structname></title>
+
+  <indexterm zone="catalog-pg-tablesample-method">
+   <primary>pg_am</primary>
+  </indexterm>
+
+  <para>
+   The catalog <structname>pg_tablesample_method</structname> stores
+   information about table sampling methods which can be used in
+   <command>TABLESAMPLE</command> clause of a <command>SELECT</command>
+   statement.
+  </para>
+
+  <table>
+   <title><structname>pg_tablesample_method</> Columns</title>
+
+   <tgroup cols="4">
+    <thead>
+     <row>
+      <entry>Name</entry>
+      <entry>Type</entry>
+      <entry>References</entry>
+      <entry>Description</entry>
+     </row>
+    </thead>
+    <tbody>
+
+     <row>
+      <entry><structfield>oid</structfield></entry>
+      <entry><type>oid</type></entry>
+      <entry></entry>
+      <entry>Row identifier (hidden attribute; must be explicitly selected)</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmname</structfield></entry>
+      <entry><type>name</type></entry>
+      <entry></entry>
+      <entry>Name of the sampling method</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmseqscan</structfield></entry>
+      <entry><type>bool</type></entry>
+      <entry></entry>
+      <entry>If true, the sampling method scans the whole table sequentially.
+      </entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmpagemode</structfield></entry>
+      <entry><type>bool</type></entry>
+      <entry></entry>
+      <entry>If true, the sampling method always reads the pages completely.
+      </entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsminit</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry><quote>Initialize the sampling scan</quote> function</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmnextblock</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry><quote>Get next block number</quote> function</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmnexttuple</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry><quote>Get next tuple offset</quote> function</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmexaminetuple</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry>Function which examines the tuple contents and decides if to
+        return it, or zero if none</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmend</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry><quote>End the sampling scan</quote> function</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmreset</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry><quote>Restart the state of sampling scan</quote> function</entry>
+     </row>
+
+     <row>
+      <entry><structfield>tsmcost</structfield></entry>
+      <entry><type>regproc</type></entry>
+      <entry><literal><link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.oid</literal></entry>
+      <entry>Costing function</entry>
+     </row>
+
+    </tbody>
+   </tgroup>
+  </table>
+
+ </sect1>
+
+
  <sect1 id="catalog-pg-tablespace">
   <title><structname>pg_tablespace</structname></title>