<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Projection functions</title>
    <link>/en/sql-reference/functions/management-functions/projection-functions/</link>
    <description>Recent content in Projection functions on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/sql-reference/functions/management-functions/projection-functions/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Sql-Reference: CLEAR_PROJECTION_REFRESHES</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/clear-projection-refreshes/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/clear-projection-refreshes/</guid>
      <description>
        
        
        &lt;p&gt;Clears projection refresh history from the &lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt; system table. PROJECTION_REFRESHES records information about successful and unsuccessful &lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/&#34;&gt;refresh operations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;CLEAR_PROJECTION_REFRESHES removes information only for refresh operations that are complete, as indicated by the IS_EXECUTING column in PROJECTION_REFRESHES.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;CLEAR_PROJECTION_REFRESHES()
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;p&gt;Superuser&lt;/p&gt;

&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLEAR_PROJECTION_REFRESHES&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLEAR_PROJECTION_REFRESHES&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;----------------------------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLEAR&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/refresh/#&#34;&gt;REFRESH&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/start-refresh/#&#34;&gt;START_REFRESH&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/admin/monitoring/clearing-projection-refresh-history/#&#34;&gt;Clearing projection refresh history&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Sql-Reference: EVALUATE_DELETE_PERFORMANCE</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/evaluate-delete-performance/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/evaluate-delete-performance/</guid>
      <description>
        
        
        &lt;p&gt;Evaluates projections for potential &lt;a href=&#34;../../../../../en/sql-reference/statements/delete/#&#34;&gt;DELETE&lt;/a&gt; and &lt;a href=&#34;../../../../../en/sql-reference/statements/update/#&#34;&gt;UPDATE&lt;/a&gt; performance issues. If OpenText™ Analytics Database finds any issues, it issues a warning message. When evaluating multiple projections, EVALUATE_DELETE_PERFORMANCE returns up to ten projections with issues, and the name of a table that lists all issues that it found.

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

EVALUATE_DELETE_PERFORMANCE returns messages that specifically reference delete performance. Keep in mind, however, that delete and update operations benefit equally from the same optimizations.

&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;For information on resolving delete and update performance issues, see &lt;a href=&#34;../../../../../en/admin/working-with-native-tables/removing-table-data/optimizing-delete-and-update/#&#34;&gt;Optimizing DELETE and UPDATE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;EVALUATE_DELETE_PERFORMANCE ( [&amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;scope&lt;/span&gt;&amp;#39;] )
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;
&lt;code&gt;`[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema&lt;/span&gt;&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;scope&lt;/span&gt;&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Specifies the projections to evaluate, one of the following:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;[&lt;/code&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;projection&lt;/code&gt;&lt;/em&gt;&lt;br /&gt;Evaluate &lt;em&gt;&lt;code&gt;projection&lt;/code&gt;&lt;/em&gt;. For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SELECT EVALUATE_DELETE_PERFORMANCE(&amp;#39;store.store_orders_fact.store_orders_fact_b1&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;br /&gt;Specifies to evaluate all projections of &lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;. For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SELECT EVALUATE_DELETE_PERFORMANCE(&amp;#39;store.store_orders_fact&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you supply no arguments, EVALUATE_DELETE_PERFORMANCE evaluates all projections that you can access. Depending on the size of your database, this can incur considerable overhead.&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;p&gt;Non-superuser: SELECT privilege on the anchor table&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;EVALUATE_DELETE_PERFORMANCE evaluates all projections of table &lt;code&gt;exampl&lt;/code&gt;e for potential DELETE and UPDATE performance issues.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; create table example (A int, B int,C int);
CREATE TABLE
=&amp;gt; create projection one_sort (A,B,C) as (select A,B,C from example) order by A;
CREATE PROJECTION
=&amp;gt; create projection two_sort (A,B,C) as (select A,B,C from example) order by A,B;
CREATE PROJECTION
=&amp;gt; select evaluate_delete_performance(&amp;#39;example&amp;#39;);
            evaluate_delete_performance
---------------------------------------------------
 No projection delete performance concerns found.
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The previous example show that the two projections one_sort and two_sort have no inherent structural issues that might cause poor DELETE performance. However, the data contained within the projection can create potential delete issues if the sorted columns do not uniquely identify a row or small number of rows.&lt;/p&gt;
&lt;p&gt;In the following example, Perl is used to populate the table with data using a nested series of loops:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The inner loop populates column &lt;code&gt;C.&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The middle loop populates column &lt;code&gt;B&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The outer loop populates column &lt;code&gt;A&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The result is column &lt;code&gt;A&lt;/code&gt; contains only three distinct values (0, 1, and 2), while column &lt;code&gt;B&lt;/code&gt; slowly varies between 20 and 0 and column &lt;code&gt;C&lt;/code&gt; changes in each row:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; \! perl -e &amp;#39;for ($i=0; $i&amp;lt;3; $i++) { for ($j=0; $j&amp;lt;21; $j++) { for ($k=0; $k&amp;lt;19; $k++) { printf &amp;#34;%d,%d,%d\n&amp;#34;, $i,$j,$k;}}}&amp;#39; | /opt/vertica/bin/vsql -c &amp;#34;copy example from stdin delimiter &amp;#39;,&amp;#39; direct;&amp;#34;
Password:
=&amp;gt; select * from example;
 A | B  | C
---+----+----
 0 | 20 | 18
 0 | 20 | 17
 0 | 20 | 16
 0 | 20 | 15
 0 | 20 | 14
 0 | 20 | 13
 0 | 20 | 12
 0 | 20 | 11
 0 | 20 | 10
 0 | 20 |  9
 0 | 20 |  8
 0 | 20 |  7
 0 | 20 |  6
 0 | 20 |  5
 0 | 20 |  4
 0 | 20 |  3
 0 | 20 |  2
 0 | 20 |  1
 0 | 20 |  0
 0 | 19 | 18
 &lt;span class=&#34;code-variable&#34;&gt;...&lt;/span&gt;
 2 |  1 |  0
 2 |  0 | 18
 2 |  0 | 17
 2 |  0 | 16
 2 |  0 | 15
 2 |  0 | 14
 2 |  0 | 13
 2 |  0 | 12
 2 |  0 | 11
 2 |  0 | 10
 2 |  0 |  9
 2 |  0 |  8
 2 |  0 |  7
 2 |  0 |  6
 2 |  0 |  5
 2 |  0 |  4
 2 |  0 |  3
 2 |  0 |  2
 2 |  0 |  1
 2 |  0 |  0
=&amp;gt; SELECT COUNT (*) FROM example;
 COUNT
-------
  1197
(1 row)
=&amp;gt; SELECT COUNT (DISTINCT A) FROM example;
 COUNT
-------
     3
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;EVALUATE_DELETE_PERFORMANCE is run against the projections again to determine whether the data within the projections causes any potential DELETE performance issues. Projection &lt;code&gt;one_sort&lt;/code&gt; has potential delete issues as it only sorts on column A which has few distinct values. Each value in the sort column corresponds to many rows in the projection, which can adversely impact DELETE performance. In contrast, projection &lt;code&gt;two_sort&lt;/code&gt; is sorted on columns &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;, where each combination of values in the two sort columns identifies just a few rows, so deletes can be performed faster:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
=&amp;gt; select evaluate_delete_performance(&amp;#39;example&amp;#39;);
            evaluate_delete_performance
---------------------------------------------------
 The following projections exhibit delete performance concerns:
        &amp;#34;public&amp;#34;.&amp;#34;one_sort_b1&amp;#34;
        &amp;#34;public&amp;#34;.&amp;#34;one_sort_b0&amp;#34;
See v_catalog.projection_delete_concerns for more details.

=&amp;gt; \x
Expanded display is on.
dbadmin=&amp;gt; select * from projection_delete_concerns;
-[ RECORD 1 ]------+------------------------------------------------------------------------------------------------------------------------------------------------------------
projection_id      | 45035996273878562
projection_schema  | public
projection_name    | one_sort_b1
creation_time      | 2019-06-17 13:59:03.777085-04
last_modified_time | 2019-06-17 14:00:27.702223-04
comment            | The squared number of rows matching each sort key is about 159201 on average.
-[ RECORD 2 ]------+------------------------------------------------------------------------------------------------------------------------------------------------------------
projection_id      | 45035996273878548
projection_schema  | public
projection_name    | one_sort_b0
creation_time      | 2019-06-17 13:59:03.777279-04
last_modified_time | 2019-06-17 13:59:03.777279-04
comment            | The squared number of rows matching each sort key is about 159201 on average.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you omit supplying an argument to EVALUATE_DELETE_PERFORMANCE, it evaluates all projections that you can access:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; select evaluate_delete_performance();
                          evaluate_delete_performance
---------------------------------------------------------------------------
 The following projections exhibit delete performance concerns:
        &amp;#34;public&amp;#34;.&amp;#34;one_sort_b0&amp;#34;
        &amp;#34;public&amp;#34;.&amp;#34;one_sort_b1&amp;#34;
See v_catalog.projection_delete_concerns for more details.
(1 row)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Sql-Reference: GET_PROJECTION_SORT_ORDER</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/get-projection-sort-order/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/get-projection-sort-order/</guid>
      <description>
        
        
        &lt;p&gt;Returns the order of columns in a projection&#39;s ORDER BY clause.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;GET_PROJECTION_SORT_ORDER( &amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema.&lt;/span&gt;]&lt;span class=&#34;code-variable&#34;&gt;projection&lt;/span&gt;&amp;#39; );
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;projection&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The target projection.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;p&gt;Non-superuser: SELECT privilege on the anchor table&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT get_projection_sort_order (&amp;#39;store_orders_super&amp;#39;);
                                 get_projection_sort_order
--------------------------------------------------------------------------------------------
 public.store_orders_super [Sort Cols: &amp;#34;order_no&amp;#34;, &amp;#34;order_date&amp;#34;, &amp;#34;shipper&amp;#34;, &amp;#34;ship_date&amp;#34;]

(1 row)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Sql-Reference: GET_PROJECTION_STATUS</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/get-projection-status/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/get-projection-status/</guid>
      <description>
        
        
        &lt;p&gt;Returns information relevant to the status of a &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/projection/&#34; title=&#34;Optimized collections of table columns that provide physical storage for data.&#34;&gt;projection&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The current &lt;a href=&#34;../../../../../en/admin/projections/k-safe-db-projections/&#34;&gt;K-safety&lt;/a&gt; status of the database&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The number of nodes in the database&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether the projection is segmented&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The number and names of buddy projections&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether the projection is &lt;a href=&#34;../../../../../en/admin/projections/k-safe-db-projections/&#34;&gt;safe&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether the projection is &lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/&#34;&gt;up to date&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether statistics have been computed for the projection&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use
&lt;code&gt;&lt;a href=&#34;#&#34;&gt;GET_PROJECTION_STATUS&lt;/a&gt;&lt;/code&gt; to &lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/&#34;&gt;monitor the progress&lt;/a&gt; of a projection data refresh.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;GET_PROJECTION_STATUS ( &amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema.&lt;/span&gt;]&lt;span class=&#34;code-variable&#34;&gt;projection&lt;/span&gt;&amp;#39; );
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;projection&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The projection for which to display status.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT GET_PROJECTION_STATUS(&amp;#39;public.customer_dimension_site01&amp;#39;);
                                     GET_PROJECTION_STATUS
-----------------------------------------------------------------------------------------------
 Current system K is 1.
# of Nodes: 4.
public.customer_dimension_site01 [Segmented: No] [Seg Cols: ] [K: 3] [public.customer_dimension_site04, public.customer_dimension_site03,
public.customer_dimension_site02]
[Safe: Yes] [UptoDate: Yes][Stats: Yes]
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Sql-Reference: GET_PROJECTIONS</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/get-projections/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/get-projections/</guid>
      <description>
        
        
        &lt;p&gt;Returns contextual and projection information about projections of the specified anchor table.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Contextual information&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Database K-safety&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Number of database nodes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Number of projections for this table&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Projection data&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;For each projection, specifies:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All buddy projections&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether it is segmented&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether it is 
safe&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Whether it is up-to-date.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;You can also use &lt;code&gt;GET_PROJECTIONS&lt;/code&gt; to &lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/&#34;&gt;monitor the progress of a projection data refresh&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;GET_PROJECTIONS ( &amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema-name.&lt;/span&gt;]&lt;span class=&#34;code-variable&#34;&gt;table&lt;/span&gt;&amp;#39; )
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;
&lt;code&gt;`[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema&lt;/span&gt;&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;Anchor table of the projections to list.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;p&gt;None&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following example gets information about projections for VMart table &lt;code&gt;store.store_dimension&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT GET_PROJECTIONS(&amp;#39;store.store_dimension&amp;#39;);
-[ RECORD 1 ]---+
GET_PROJECTIONS | Current system K is 1.
# of Nodes: 3.
Table store.store_dimension has 2 projections.

Projection Name: [Segmented] [Seg Cols] [# of Buddies] [Buddy Projections] [Safe] [UptoDate] [Stats]
----------------------------------------------------------------------------------------------------
store.store_dimension_b1 [Segmented: Yes] [Seg Cols: &amp;#34;store.store_dimension.store_key&amp;#34;] [K: 1] [store.store_dimension_b0] [Safe: Yes] [UptoDate: Yes] [Stats: RowCounts]
store.store_dimension_b0 [Segmented: Yes] [Seg Cols: &amp;#34;store.store_dimension.store_key&amp;#34;] [K: 1] [store.store_dimension_b1] [Safe: Yes] [UptoDate: Yes] [Stats: RowCounts]
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Sql-Reference: PURGE_PROJECTION</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/purge-projection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/purge-projection/</guid>
      <description>
        
        
        &lt;p&gt;&lt;p&gt;Permanently removes deleted data from physical storage so disk space can be reused. You can purge historical data up to and including the Ancient History Mark epoch.&lt;/p&gt;


&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;

&lt;code&gt;PURGE_PROJECTION&lt;/code&gt; can use significant disk space while purging the data.

&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;See 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/db-functions/purge/#&#34;&gt;PURGE&lt;/a&gt;&lt;/code&gt; for details about purge operations.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;PURGE_PROJECTION ( &amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;projection&lt;/span&gt;&amp;#39; )
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;projection&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The projection to purge.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Table owner&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;USAGE privilege on schema&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following example purges all historical data in projection &lt;code&gt;tbl_p&lt;/code&gt; that precedes the Ancient History Mark epoch.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE TABLE tbl (x int, y int);
CREATE TABLE
=&amp;gt; INSERT INTO tbl VALUES(1,2);
 OUTPUT
--------
      1
(1 row)

=&amp;gt; INSERT INTO tbl VALUES(3,4);
 OUTPUT
--------
      1
(1 row)

dbadmin=&amp;gt; COMMIT;
COMMIT
=&amp;gt; CREATE PROJECTION tbl_p AS SELECT x FROM tbl UNSEGMENTED ALL NODES;
WARNING 4468: Projection &amp;lt;public.tbl_p&amp;gt; is not available for query processing.
Execute the select start_refresh() function to copy data into this projection.
The projection must have a sufficient number of buddy projections and all nodes must be up before starting a refresh
CREATE PROJECTION
=&amp;gt; SELECT START_REFRESH();
             START_REFRESH
----------------------------------------
 Starting refresh background process.
=&amp;gt; DELETE FROM tbl WHERE x=1;
 OUTPUT
--------
      1
(1 row)

=&amp;gt; COMMIT;
COMMIT
=&amp;gt; SELECT MAKE_AHM_NOW();
         MAKE_AHM_NOW
-------------------------------
 AHM set (New AHM Epoch: 9066)
(1 row)

=&amp;gt; SELECT PURGE_PROJECTION (&amp;#39;tbl_p&amp;#39;);
 PURGE_PROJECTION
-------------------
 Projection purged
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;

&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/table-functions/purge-table/#&#34;&gt;PURGE_TABLE&lt;/a&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;

&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/storage-containers/#&#34;&gt;STORAGE_CONTAINERS&lt;/a&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../../en/admin/working-with-native-tables/removing-table-data/purging-deleted-data/#&#34;&gt;Purging deleted data&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Sql-Reference: REFRESH</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/refresh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/refresh/</guid>
      <description>
        
        
        &lt;p&gt;Synchronously refreshes one or more table projections in the foreground, and updates the &lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt; system table. If you run &lt;span class=&#34;sql&#34;&gt;REFRESH&lt;/span&gt; with no arguments, it refreshes all projections that contain stale data.&lt;/p&gt;
&lt;p&gt;To understand projection refreshing in detail, see &lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/#&#34;&gt;Refreshing projections&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If a refresh would violate a table or schema disk quota, the operation fails. For more information, see &lt;a href=&#34;../../../../../en/admin/working-with-native-tables/disk-quotas/#&#34;&gt;Disk quotas&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;REFRESH ( [ &amp;#39;[[&lt;span class=&#34;code-variable&#34;&gt;database&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;schema&lt;/span&gt;.]&lt;span class=&#34;code-variable&#34;&gt;table&lt;/span&gt;[,...]&amp;#39; ] )
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;Database and &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/&#34;&gt;schema&lt;/a&gt;. The default schema is &lt;code&gt;public&lt;/code&gt;. If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The anchor table of the projections to refresh. If you specify multiple tables, &lt;span class=&#34;sql&#34;&gt;REFRESH&lt;/span&gt; attempts to refresh them in parallel. Such calls are part of the Database Designer deployment (and deployment script).&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;
&lt;p&gt;
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

If &lt;span class=&#34;sql&#34;&gt;REFRESH&lt;/span&gt; does not refresh any projections, it returns a header string with no results.

&lt;/div&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Column&lt;/th&gt; 

&lt;th &gt;
Returns&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Projection Name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;


The projection targeted for refresh.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Anchor Table&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The projection&#39;s associated anchor table.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Status&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;








&lt;p&gt;Projections&#39; refresh status:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;queued&lt;/code&gt;: Queued for refresh.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;refreshing&lt;/code&gt;: Refresh is in process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;refreshed&lt;/code&gt;: Refresh successfully completed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;failed&lt;/code&gt;: Refresh did not successfully complete.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Refresh Method&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;a href=&#34;#Refresh&#34;&gt;Method&lt;/a&gt; used to refresh the projection.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Error Count&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Number of times a refresh failed for the projection.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;Duration (sec)&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
How long (in seconds) the projection refresh ran.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/db-superuser/&#34; title=&#34;&#34;&gt;Superuser&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Owner of the specified tables&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;Refresh&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;refresh-methods&#34;&gt;Refresh methods&lt;/h2&gt;
&lt;p&gt;Vertica can refresh a projection from one of its buddies, if one is available. In this case, the target projection gets the source buddy&#39;s historical data. Otherwise, the projection is refreshed from scratch with data of the latest epoch at the time of the refresh operation. In this case, the projection cannot participate in historical queries on any epoch that precedes the refresh operation.&lt;/p&gt;
&lt;p&gt;Vertica can perform incremental refreshes when the following conditions are met:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The table being refreshed is partitioned.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The table does not contain any unpartitioned data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The operation is a full projection refresh (not a partition range projection refresh).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In an incremental refresh, the refresh operation first loads data from the partition with the highest range of keys. After refreshing this partition, Vertica begins to refresh the partition with next highest partition range. This process continues until all projection partitions are refreshed. While the refresh operation is in progress, projection partitions that have completed the refresh process become available to process query requests.&lt;/p&gt;
&lt;p&gt;The method used to refresh a given projection is recorded in the  &lt;span class=&#34;sql&#34;&gt;REFRESH_METHOD&lt;/span&gt; column of the &lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt; system table.&lt;/p&gt;

&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following example refreshes the projections in two tables:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT REFRESH(&amp;#39;t1, t2&amp;#39;);
                                             REFRESH
----------------------------------------------------------------------------------------
Refresh completed with the following outcomes:

Projection Name: [Anchor Table] [Status] [Refresh Method] [Error Count] [Duration (sec)]
----------------------------------------------------------------------------------------

&amp;#34;public&amp;#34;.&amp;#34;t1_p&amp;#34;: [t1] [refreshed] [scratch] [0] [0]&amp;#34;public&amp;#34;.&amp;#34;t2_p&amp;#34;: [t2] [refreshed] [scratch] [0] [0]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the following example, only the projection on one table was refreshed:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT REFRESH(&amp;#39;allow, public.deny, t&amp;#39;);
                                               REFRESH
----------------------------------------------------------------------------------------

Refresh completed with the following outcomes:

Projection Name: [Anchor Table] [Status] [Refresh Method] [Error Count] [Duration (sec)]
----------------------------------------------------------------------------------------
&amp;#34;n/a&amp;#34;.&amp;#34;n/a&amp;#34;: [n/a] [failed: insufficient permissions on table &amp;#34;allow&amp;#34;] [] [1] [0]
&amp;#34;n/a&amp;#34;.&amp;#34;n/a&amp;#34;: [n/a] [failed: insufficient permissions on table &amp;#34;public.deny&amp;#34;] [] [1] [0]
&amp;#34;public&amp;#34;.&amp;#34;t_p1&amp;#34;: [t] [refreshed] [scratch] [0] [0]
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/clear-projection-refreshes/#&#34;&gt;CLEAR_PROJECTION_REFRESHES&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/start-refresh/#&#34;&gt;START_REFRESH&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Sql-Reference: REFRESH_COLUMNS</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/refresh-columns/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/refresh-columns/</guid>
      <description>
        
        
        &lt;p&gt;Refreshes table columns that are defined with the constraint &lt;a href=&#34;../../../../../en/admin/working-with-native-tables/managing-table-columns/defining-column-values/&#34;&gt;SET USING or DEFAULT USING&lt;/a&gt;. All refresh operations associated with a call to REFRESH_COLUMNS belong to the same transaction. Thus, all tables and columns specified by REFRESH_COLUMNS must be refreshed; otherwise, the entire operation is rolled back.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;REFRESH_COLUMNS ( &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;table-list&lt;/span&gt;&amp;#39;, &amp;#39;[&lt;span class=&#34;code-variable&#34;&gt;column-list&lt;/span&gt;]&amp;#39;
   [, &amp;#39;[&lt;span class=&#34;code-variable&#34;&gt;refresh-mode&lt;/span&gt;]&amp;#39; [, &lt;span class=&#34;code-variable&#34;&gt;min-partition-key&lt;/span&gt;, &lt;span class=&#34;code-variable&#34;&gt;max-partition-key&lt;/span&gt; [, &lt;span class=&#34;code-variable&#34;&gt;force-split&lt;/span&gt;] ]
)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;arguments&#34;&gt;Arguments&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;table-list&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;A comma-delimited list of the tables to refresh: &lt;code&gt;[[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema.&lt;/code&gt;&lt;/em&gt;&lt;code&gt;]&lt;/code&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;code&gt;[,...]&lt;/code&gt;
&lt;p&gt;If you specify multiple tables, &lt;em&gt;&lt;code&gt;refresh-mode&lt;/code&gt;&lt;/em&gt; must be set to REBUILD.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;column-list&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;A comma-delimited list of columns to refresh: &lt;code&gt;[[[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema.&lt;/code&gt;&lt;/em&gt;&lt;code&gt;]&lt;/code&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;column&lt;/code&gt;&lt;/em&gt;&lt;code&gt;[,...]&lt;/code&gt; or &lt;code&gt;[[&lt;/code&gt;&lt;em&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.]&lt;/code&gt;&lt;em&gt;&lt;code&gt;schema.&lt;/code&gt;&lt;/em&gt;&lt;code&gt;]&lt;/code&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt;&lt;code&gt;.&lt;/code&gt;&lt;em&gt;&lt;code&gt;*&lt;/code&gt;&lt;/em&gt;,  where asterisk (&lt;code&gt;*&lt;/code&gt;) means to refresh all SET USING/DEFAULT USING columns in the table. For example:
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SELECT REFRESH_COLUMNS (&amp;#39;t1, t2&amp;#39;, &amp;#39;t1.*, t2.b&amp;#39;, &amp;#39;REBUILD&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If &lt;em&gt;&lt;code&gt;column-list&lt;/code&gt;&lt;/em&gt; is set to an empty string (&lt;code&gt;&#39;&#39;&lt;/code&gt;), REFRESH_COLUMNS refreshes all SET USING/DEFAULT USING columns in the specified tables.&lt;/p&gt;
&lt;p&gt;The following requirements apply:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All specified columns must have a SET USING or DEFAULT USING constraint.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If REFRESH_COLUMNS specifies multiple tables, all column names must be qualified by their table names. If the target tables span multiple schemas, all column names must be fully qualified by their schema and table names. For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SELECT REFRESH_COLUMNS (&amp;#39;t1, t2&amp;#39;, &amp;#39;t1.a, t2.b&amp;#39;, &amp;#39;REBUILD&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you specify a database, it must be the current database.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;refresh-mode&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;Specifies how to refresh SET USING columns:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;UPDATE&lt;/code&gt; (default): Marks original rows as deleted and replaces them with new rows. In order to save these updates, you must issue a COMMIT statement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;REBUILD&lt;/code&gt;: Replaces all data in the specified columns. The rebuild operation is auto-committed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you specify multiple tables, you must explicitly specify REBUILD mode.&lt;/p&gt;
&lt;p&gt;In both cases, REFRESH_COLUMNS returns an error if any SET USING column is defined as a primary or unique key in a table that &lt;a href=&#34;../../../../../en/admin/constraints/constraint-enforcement/&#34;&gt;enforces those constraints&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;#REBUILDModeRestrictions&#34;&gt;REBUILD Mode Restrictions&lt;/a&gt; for limitations on using the REBUILD option.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;min-partition-key&lt;/code&gt;&lt;/em&gt;, &lt;em&gt;&lt;code&gt;max-partition-key&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;Qualifies REBUILD mode, limiting the rebuild operation to one or more partitions. To specify a range of partitions, &lt;em&gt;&lt;code&gt;max-partition-key&lt;/code&gt;&lt;/em&gt; must be greater than &lt;em&gt;&lt;code&gt;min-partition-key&lt;/code&gt;&lt;/em&gt;. To update one partition, the two arguments must be equal.
&lt;p&gt;The following requirements apply:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The function can specify only one table to refresh.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The table must be partitioned on the specified keys.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can use these arguments to refresh columns with recently loaded data—that is, data in the latest partitions. Using this option regularly can significantly minimize the overhead otherwise incurred by rebuilding entire columns in a large table.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;#Partitio&#34;&gt;Partition-based REBUILD&lt;/a&gt; below for details.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;force-split&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;Boolean, whether to split ROS containers if the range of partition keys spans multiple containers or part of a single container:
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;true&lt;/code&gt; (default): Split ROS containers as needed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;false&lt;/code&gt;: Return with an error if ROS containers must be split to implement this operation.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Schemas of queried and flattened tables: USAGE&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Queried table: SELECT&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Flattened table: SELECT, UPDATE&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-versus-rebuild-modes&#34;&gt;UPDATE versus REBUILD modes&lt;/h2&gt;
&lt;p&gt;In general, UPDATE mode is a better choice when changes to SET USING column data are confined to a relatively small number of rows. Use REBUILD mode when a significant amount of SET USING column data is stale and must be updated. It is generally good practice to call REFRESH_COLUMNS with REBUILD on any new SET USING column—for example, to populate a SET USING column after adding it with ALTER TABLE...ADD COLUMN.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;REBUILDModeRestrictions&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;rebuild-mode-restrictions&#34;&gt;REBUILD mode restrictions&lt;/h2&gt;
&lt;p&gt;&lt;a name=&#34;RefreshPartitions&#34;&gt;&lt;/a&gt;
If you call REFRESH_COLUMNS on a SET USING column and specify the refresh mode as REBUILD, OpenText™ Analytics Database returns an error if the column is specified in any of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Table&#39;s partition key&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unsegmented projection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../../en/data-analysis/data-aggregation/pre-aggregating-data-projections/aggregating-data-through-expressions/&#34;&gt;Projection with expressions&lt;/a&gt;, or any &lt;a href=&#34;../../../../../en/data-analysis/data-aggregation/pre-aggregating-data-projections/pre-aggregating-udtf-results/&#34;&gt;live aggregate projection that invokes a user-defined transform function&lt;/a&gt; (UDTF)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sort order or segmentation of any projection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Any projection that omits an anchor table column that is referenced in the column&#39;s SET USING expression&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-projection/grouped-clause/&#34;&gt;GROUPED clause&lt;/a&gt; of any projection&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;Partitio&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;partition-based-rebuild-operations&#34;&gt;Partition-based REBUILD operations&lt;/h2&gt;
&lt;p&gt;If a flattened table is partitioned, you can reduce the overhead of calling REFRESH_COLUMNS in REBUILD mode, by specifying one or more partition keys. Doing so limits the rebuild operation to the specified partitions. For example, table &lt;code&gt;public.orderFact&lt;/code&gt; is &lt;a href=&#34;../../../../../en/data-analysis/flattened-tables/flattened-table-example/&#34;&gt;defined&lt;/a&gt; with SET USING column &lt;code&gt;cust_name&lt;/code&gt;. This table is partitioned on column &lt;code&gt;order_date&lt;/code&gt;, where the partition clause invokes the database function &lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/partition-functions/calendar-hierarchy-day/#&#34;&gt;CALENDAR_HIERARCHY_DAY&lt;/a&gt;. Thus, you can call REFRESH_COLUMNS on specific time-delimited partitions of this table—in this case, on orders over the last two months:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT REFRESH_COLUMNS (&amp;#39;public.orderFact&amp;#39;,
                        &amp;#39;cust_name&amp;#39;,
                        &amp;#39;REBUILD&amp;#39;,
                        TO_CHAR(ADD_MONTHS(current_date, -2),&amp;#39;YYYY-MM&amp;#39;)||&amp;#39;-01&amp;#39;,
                        TO_CHAR(LAST_DAY(ADD_MONTHS(current_date, -1))));
      REFRESH_COLUMNS
---------------------------
 refresh_columns completed
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;rewriting-set-using-queries&#34;&gt;Rewriting SET USING queries&lt;/h2&gt;
&lt;p&gt;When you call &lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/refresh-columns/#&#34;&gt;REFRESH_COLUMNS&lt;/a&gt; on a &lt;a href=&#34;../../../../../en/data-analysis/flattened-tables/&#34;&gt;flattened table&lt;/a&gt;&#39;s &lt;a href=&#34;../../../../../en/admin/working-with-native-tables/managing-table-columns/defining-column-values/&#34;&gt;SET USING&lt;/a&gt; (or DEFAULT USING) column, it executes the SET USING query by joining the target and source tables. By default, the source table is always the inner table of the join. In most cases, cardinality of the source table is less than the target table, so REFRESH_COLUMNS executes the join efficiently.&lt;/p&gt;
&lt;p&gt;Occasionally—notably, when you call REFRESH_COLUMNS on a partitioned table—the source table can be larger than the target table. In this case, performance of the join operation can be suboptimal.&lt;/p&gt;
&lt;p&gt;You can address this issue by enabling configuration parameter &lt;a href=&#34;../../../../../en/sql-reference/config-parameters/projection-parameters/#RewriteQueryForLargeDim&#34;&gt;RewriteQueryForLargeDim&lt;/a&gt;. When enabled (1), the database rewrites the query, by reversing the inner and outer join between the target and source tables.

&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Enable this parameter only if the SET USING source data is in a table that is larger than the target table. If the source data is in a table smaller than the target table, then enabling RewriteQueryForLargeDim can adversely affect refresh performance.
&lt;/div&gt;&lt;/p&gt;

&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&#34;../../../../../en/data-analysis/flattened-tables/flattened-table-example/#&#34;&gt;Flattened table example&lt;/a&gt; and &lt;a href=&#34;../../../../../en/data-analysis/flattened-tables/default-versus-set-using/#&#34;&gt;DEFAULT versus SET USING&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Sql-Reference: START_REFRESH</title>
      <link>/en/sql-reference/functions/management-functions/projection-functions/start-refresh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/sql-reference/functions/management-functions/projection-functions/start-refresh/</guid>
      <description>
        
        
        &lt;p&gt;Refreshes projections in the &lt;a href=&#34;../../../../../en/admin/configuring-db/designing-logical-schema/using-multiple-schemas/setting-search-paths/#Viewing&#34;&gt;current schema&lt;/a&gt; with the latest data of their respective &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/anchor-table/&#34; title=&#34;Database table that is the source for data in a projection.&#34;&gt;anchor tables&lt;/a&gt;. &lt;span class=&#34;sql&#34;&gt;START_REFRESH&lt;/span&gt; runs asynchronously in the background, and updates the &lt;span class=&#34;sql&#34;&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt;&lt;/span&gt; system table. This function has no effect if a refresh is already running.&lt;/p&gt;
&lt;p&gt;To refresh only projections of a specific table, use &lt;span class=&#34;sql&#34;&gt;&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/refresh/#&#34;&gt;REFRESH&lt;/a&gt;&lt;/span&gt;. When you &lt;a href=&#34;../../../../../en/admin/configuring-db/creating-db-design/deploying-design/deploying-designs-using-db-designer/&#34;&gt;deploy a design&lt;/a&gt; through Database Designer, it automatically refreshes its projections.&lt;/p&gt;
&lt;p&gt;If a refresh would violate a table or schema disk quota, the operation fails. For more information, see &lt;a href=&#34;../../../../../en/admin/working-with-native-tables/disk-quotas/#&#34;&gt;Disk quotas&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a meta-function. You must call meta-functions in a top-level &lt;a href=&#34;../../../../../en/sql-reference/statements/select/#&#34;&gt;SELECT&lt;/a&gt; statement.&lt;/p&gt;

&lt;h2 id=&#34;behavior-type&#34;&gt;Behavior type&lt;/h2&gt;
&lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/volatile-functions/&#34; title=&#34;&#34;&gt;Volatile&lt;/a&gt;
&lt;h2 id=&#34;syntax&#34;&gt;Syntax&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;START_REFRESH()
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;privileges&#34;&gt;Privileges&lt;/h2&gt;
&lt;p&gt;None&lt;/p&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt;
&lt;p&gt;All nodes must be up.&lt;/p&gt;
&lt;h2 id=&#34;refresh-methods&#34;&gt;Refresh methods&lt;/h2&gt;
&lt;p&gt;Vertica can refresh a projection from one of its buddies, if one is available. In this case, the target projection gets the source buddy&#39;s historical data. Otherwise, the projection is refreshed from scratch with data of the latest epoch at the time of the refresh operation. In this case, the projection cannot participate in historical queries on any epoch that precedes the refresh operation.&lt;/p&gt;
&lt;p&gt;Vertica can perform incremental refreshes when the following conditions are met:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The table being refreshed is partitioned.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The table does not contain any unpartitioned data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The operation is a full projection refresh (not a partition range projection refresh).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In an incremental refresh, the refresh operation first loads data from the partition with the highest range of keys. After refreshing this partition, Vertica begins to refresh the partition with next highest partition range. This process continues until all projection partitions are refreshed. While the refresh operation is in progress, projection partitions that have completed the refresh process become available to process query requests.&lt;/p&gt;
&lt;p&gt;The method used to refresh a given projection is recorded in the  &lt;span class=&#34;sql&#34;&gt;REFRESH_METHOD&lt;/span&gt; column of the &lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt; system table.&lt;/p&gt;

&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT START_REFRESH();
             START_REFRESH
----------------------------------------
 Starting refresh background process.
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/admin/projections/refreshing-projections/#&#34;&gt;Refreshing projections&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/management-functions/projection-functions/clear-projection-refreshes/#&#34;&gt;CLEAR_PROJECTION_REFRESHES&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
