<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Handling messy data</title>
    <link>/en/data-load/handling-messy-data/</link>
    <description>Recent content in Handling messy data on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/data-load/handling-messy-data/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Data-Load: Saving load rejections (REJECTED DATA)</title>
      <link>/en/data-load/handling-messy-data/saving-load-rejections-rejected-data/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/data-load/handling-messy-data/saving-load-rejections-rejected-data/</guid>
      <description>
        
        
        &lt;p&gt;Load rejections are data rows that &lt;code&gt;COPY&lt;/code&gt; did not load due to a parser exception or, optionally, transformation error. By default OpenText™ Analytics Database saves information about rejections in files on database nodes.  A better approach is to &lt;a href=&#34;../../../en/data-load/handling-messy-data/saving-rejected-data-to-table/&#34;&gt;save rejections to a table&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, if you do not specify a rejected data file, &lt;code&gt;COPY&lt;/code&gt; saves rejected data files to this location:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;catalog_dir&lt;/span&gt;/CopyErrorLogs/&lt;span class=&#34;code-variable&#34;&gt;target_table&lt;/span&gt;-&lt;span class=&#34;code-variable&#34;&gt;source&lt;/span&gt;-copy-from-rejected-data.&lt;span class=&#34;code-variable&#34;&gt;sequence-number&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;dl&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;catalog_dir&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The database catalog files directory, for example &lt;code&gt;/home/dbadmin/VMart/v_vmart_node0001_catalog&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;target_table&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The table into which data was loaded.&lt;/dd&gt;
&lt;dt&gt;&lt;em&gt;&lt;code&gt;source&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The source of the load data, which can be STDIN or a file name, such as &lt;code&gt;baseball.csv&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;copy-from-rejected-data.&lt;/code&gt;&lt;em&gt;&lt;code&gt;sequence-number&lt;/code&gt;&lt;/em&gt;&lt;/dt&gt;
&lt;dd&gt;The default name for a rejected data file, followed by a numeric suffix, indicating the number of files, such as &lt;code&gt;.1&lt;/code&gt;, &lt;code&gt;.2, .3&lt;/code&gt;. For example, this default file name indicates file 3 after loading from STDIN: &lt;code&gt;fw-STDIN-copy-from-rejected-data.3&lt;/code&gt;.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Saving rejected data to the default location, or to a location of your choice, lets you review the file contents, resolve problems, and reload the data from the rejected data files. Saving rejected data to a table lets you query the table to see rejected data rows and the reasons (exceptions) why the rows could not be parsed. It is recommended to save rejected data to a table.&lt;/p&gt;
&lt;h2 id=&#34;multiple-rejected-data-files&#34;&gt;Multiple rejected data files&lt;/h2&gt;
&lt;p&gt;Unless a load is very small (&amp;lt; 10MB), &lt;code&gt;COPY&lt;/code&gt; creates more than one file to hold rejected rows. Several factors determine how many files &lt;code&gt;COPY&lt;/code&gt; creates for rejected data, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Number of sources being loaded&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Total number of rejected rows&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Size of the source file (or files)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cooperative parsing and number of threads being used&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UDLs that support apportioned loads&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For your own parser, the number of objects returned from &lt;code&gt;prepareUDSources()&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;naming-conventions-for-rejected-files&#34;&gt;Naming conventions for rejected files&lt;/h2&gt;
&lt;p&gt;You can specify one or more files for rejected data using the &lt;code&gt;REJECTED DATA&lt;/code&gt; clause. If you do so, and &lt;code&gt;COPY&lt;/code&gt; requires multiple files for rejected data, &lt;code&gt;COPY&lt;/code&gt; uses the rejected data file names you supply as a prefix and appends numeric suffixes. For example, if you specify &lt;code&gt;REJECTED DATA my_rejects&lt;/code&gt;, and the file you are loading is large enough (&amp;gt; 10MB), rejections are written to several files named &lt;code&gt;my_rejects-1&lt;/code&gt;, &lt;code&gt;my_rejects-2&lt;/code&gt;, and so on.&lt;/p&gt;
&lt;p&gt;By default &lt;code&gt;COPY&lt;/code&gt; uses cooperative parsing, which means a node uses multiple threads to load portions in parallel. Depending on the file or portion size, each thread generates at least one rejected data file per source file or portion, and returns load results to the initiator node. The file suffix is a thread index when &lt;code&gt;COPY&lt;/code&gt; uses multiple threads (.1, .2, .3, and so on).&lt;/p&gt;
&lt;p&gt;If you use &lt;code&gt;COPY&lt;/code&gt; with a UDL that supports apportioned load, the file suffix is an offset value. UDLs that support apportioned loading render cooperative parsing unnecessary. For apportioned loads, &lt;code&gt;COPY&lt;/code&gt; creates at least one rejected file per data portion, and more files depending on the size of the load and number of rejected rows.&lt;/p&gt;
&lt;p&gt;For all data loads except &lt;code&gt;COPY LOCAL&lt;/code&gt;, &lt;code&gt;COPY&lt;/code&gt; behaves as follows:&lt;/p&gt;
&lt;p&gt;If no rejected data file is specified:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For a single data file or &lt;code&gt;STDIN&lt;/code&gt;, &lt;code&gt;COPY&lt;/code&gt; stores one or more rejected data files in the default location.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For multiple source files, &lt;code&gt;COPY&lt;/code&gt; stores all rejected data in separate files in the default directory, using the source file as a filename prefix.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rejected data files are returned to the initiator node.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If a rejected data file is specified:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For one data file, &lt;code&gt;COPY&lt;/code&gt; interprets the rejected data path as a file, and stores all rejected data at the location. If more than one file is required from parallel processing, &lt;code&gt;COPY&lt;/code&gt; appends a numeric suffix. If the path is not a file, &lt;code&gt;COPY&lt;/code&gt; returns an error.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For multiple source files, &lt;code&gt;COPY&lt;/code&gt; interprets the rejected path as a directory. &lt;code&gt;COPY&lt;/code&gt; stores all information in separate files, one for each source. If the path is not a directory, &lt;code&gt;COPY&lt;/code&gt; returns an error.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;COPY&lt;/code&gt; accepts only one path per node. For example, if you specify the rejected data path as &lt;code&gt;my_rejected_data&lt;/code&gt;, &lt;code&gt;COPY&lt;/code&gt; creates a directory of that name on each node. If you provide more than one rejected data path, &lt;code&gt;COPY&lt;/code&gt; returns an error.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rejected data files are not shipped to the initiator node.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;maximum-length-of-file-names&#34;&gt;Maximum length of file names&lt;/h2&gt;
&lt;p&gt;Loading multiple input files in one statement requires specifying full path names for each file. Keep in mind that long input file names, combined with rejected data file names, can exceed the operating system&#39;s maximum length (typically 255 characters). To work around file names that exceed the maximum length, use a path for the rejected data file that differs from the default path—for example, &lt;code&gt;/tmp/&amp;lt;shorter-file-name&amp;gt;&lt;/code&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Data-Load: Saving rejected data to a table</title>
      <link>/en/data-load/handling-messy-data/saving-rejected-data-to-table/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/data-load/handling-messy-data/saving-rejected-data-to-table/</guid>
      <description>
        
        
        &lt;p&gt;Use the &lt;code&gt;REJECTED DATA AS TABLE&lt;/code&gt; option to collect rejected data, including exceptions, in a table that can be queried. &lt;code&gt;REJECTED DATA AS TABLE&lt;/code&gt; is incompatable with rejection or exception paths.&lt;/p&gt;
&lt;p&gt;When you use &lt;code&gt;REJECTED DATA AS TABLE&lt;/code&gt;, OpenText™ Analytics Database creates a new table if one does not exist, or appends to an existing table from a previous load. The database always creates the table if it does not already exist, even if the load produces no rejections. You cannot create the table directly.&lt;/p&gt;
&lt;p&gt;Load rejection tables do not support DML and DDL operations and are not &lt;a class=&#34;glosslink&#34; href=&#34;../../../en/glossary/k-safety/&#34; title=&#34;For more information, see Designing for K-Safety.&#34;&gt;K-safe&lt;/a&gt;. You can query and drop them.&lt;/p&gt;
&lt;p&gt;To make the data in a rejected table K-safe, you can copy it to another table using &lt;code&gt;CREATE TABLE AS&lt;/code&gt;:&lt;/p&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;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save_rejections&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&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;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rejected_data_table&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;p&gt;Alternatively, you can copy data to another table using &lt;code&gt;INSERT SELECT&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;location-of-rejected-data-table-records&#34;&gt;Location of rejected data table records&lt;/h2&gt;
&lt;p&gt;When you save rejected records to a table, the data for the table is saved in a database data subdirectory, &lt;code&gt;RejectionTableData&lt;/code&gt;. For example, a VMart database uses a path like &lt;code&gt;/home/dbadmin/VMart/v_vmart_node0001_data/RejectionTableData&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you need to make rejected data available from outside of the database, you can export the rejections table to a shared file system.&lt;/p&gt;
&lt;p&gt;It is suggested that you periodically drop any rejected data tables that you no longer require.&lt;/p&gt;
&lt;h2 id=&#34;using-copy-no-commit&#34;&gt;Using COPY NO COMMIT&lt;/h2&gt;
&lt;p&gt;If the &lt;code&gt;COPY&lt;/code&gt; statement includes the &lt;code&gt;NO COMMIT&lt;/code&gt; option, and the rejections table does not already exist, the database saves the rejected data table as a LOCAL TEMP table.&lt;/p&gt;
&lt;p&gt;Rejected-data tables are useful for Extract-Load-Transform workflows, where you will likely use temporary tables more frequently. The rejected-data tables let you quickly load data and identify which records failed to load. If you load data into a temporary table that you created using the &lt;code&gt;ON COMMIT DELETE&lt;/code&gt; clause, the &lt;code&gt;COPY&lt;/code&gt; operation will not commit.&lt;/p&gt;
&lt;h2 id=&#34;querying-a-rejected-data-table&#34;&gt;Querying a rejected data table&lt;/h2&gt;
&lt;p&gt;After a load, you can query the corresponding rejections table for information about failures. For example, consider the following table definition and &lt;code&gt;COPY&lt;/code&gt; statement:&lt;/p&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;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;INT&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;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&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&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;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;COPY&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;STDIN&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;REJECTED&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;DATA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader_rejects&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;Enter&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;to&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;be&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;copied&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;followed&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;by&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;newline&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;k&#34;&gt;End&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;with&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;backslash&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;and&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;period&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;line&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;by&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;itself&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;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#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&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;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&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;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&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;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&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;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;err&#34;&gt;\&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;p&gt;Three rows were successfully loaded:&lt;/p&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;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader&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;x&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;mi&#34;&gt;1&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;mi&#34;&gt;2&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;mi&#34;&gt;3&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;3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;rows&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;p&gt;The &lt;code&gt;loader_rejects&lt;/code&gt; table records the failed row. The data that was rejected is in the &lt;code&gt;rejected_data&lt;/code&gt; column and the reason for the rejection is in &lt;code&gt;rejected_reason&lt;/code&gt;:&lt;/p&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;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader_rejects&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;o&#34;&gt;-&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 class=&#34;n&#34;&gt;RECORD&lt;/span&gt;&lt;span class=&#34;w&#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;p&#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;n&#34;&gt;node_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                 &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v_vmart_node0001&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;file_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                 &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;STDIN&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;session_id&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v_vmart_node0001&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;example&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;24016&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x3439&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;transaction_id&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;            &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;45035996274080923&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;statement_id&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#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&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;batch_number&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&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;row_number&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&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;rejected_data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;             &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&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;rejected_data_orig_length&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#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&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;rejected_reason&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;           &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Invalid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;integer&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;a&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;column&lt;/span&gt;&lt;span class=&#34;w&#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;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&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;p&gt;The rejected data table has the following columns:

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



&lt;tr&gt; 

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

&lt;th &gt;
Data Type&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;node_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;VARCHAR&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The name of the database node on which the input load file was located.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;file_name&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;VARCHAR&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The name of the file being loaded, which applies if you loaded a file (as opposed to using STDIN).&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;session_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;VARCHAR&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The session ID number in which the COPY statement occurred.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;transaction_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;INTEGER&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Identifier for the transaction within the session, if any; otherwise NULL.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;statement_id&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;INTEGER&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;The unique identification number of the statement within the transaction that included the rejected data.&lt;/p&gt;
&lt;div class=&#34;alert admonition tip&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Tip&lt;/h4&gt;
&lt;p&gt;You can use the &lt;code&gt;session_id&lt;/code&gt;, &lt;code&gt;transaction_id&lt;/code&gt;, and &lt;code&gt;statement_id&lt;/code&gt; columns to create joins with many system tables. For example, if you join against the &lt;code&gt;QUERY_REQUESTS&lt;/code&gt; table using those three columns, the &lt;code&gt;QUERY_REQUESTS.REQUEST&lt;/code&gt; column contains the actual &lt;code&gt;COPY&lt;/code&gt; statement (as a string) used to load this data.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;batch_number&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;INTEGER&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;


INTERNAL USE. Represents which batch (chunk) the data comes from.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;row_number&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;INTEGER&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The rejected row number from the input file, or -1 if it could not be determined. The value can be -1 when using cooperative parse.&lt;/p&gt;
&lt;p&gt;Each parse operation resets the row number, so in an apportioned load, there can be several entries with the same row number but different rows.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;rejected_data&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;LONG VARCHAR&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The data that was not loaded.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;rejected_data_orig_length&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;INTEGER&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The length of the rejected data.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;


&lt;code&gt;rejected_reason&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
&lt;code&gt;VARCHAR&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
The error that caused the rejected row. This column returns the same message that exists in a load exceptions file when you do not save to a table.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;
&lt;h2 id=&#34;correcting-rejected-data&#34;&gt;Correcting rejected data&lt;/h2&gt;
&lt;p&gt;If a load rejects data, you can save the rejected data in a file, correct the errors, and reload the updated file. First, direct &lt;code&gt;vsql&lt;/code&gt; to show only tuples and set the output format:&lt;/p&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;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&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;Showing&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;only&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tuples&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;o&#34;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;a&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;k&#34;&gt;Output&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;format&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;is&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;unaligned&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;p&gt;Then query the rejections table and direct output to a file:&lt;/p&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;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rejected&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;txt&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;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;rejected_data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader_rejects&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;o&#34;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&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;p&gt;The saved file has the following output:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&amp;gt; &lt;span class=&#34;se&#34;&gt;\!&lt;/span&gt; cat rejected.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can edit the file to correct the errors and then use &lt;code&gt;COPY&lt;/code&gt; to load the updated file.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Data-Load: Saving load exceptions (EXCEPTIONS)</title>
      <link>/en/data-load/handling-messy-data/saving-load-exceptions-exceptions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/data-load/handling-messy-data/saving-load-exceptions-exceptions/</guid>
      <description>
        
        
        &lt;p&gt;COPY exceptions consist of informational messages describing why a row of data could not be parsed. The &lt;span class=&#34;sql&#34;&gt;EXCEPTIONS&lt;/span&gt; option lets you specify a file to which &lt;span class=&#34;sql&#34;&gt;COPY&lt;/span&gt; writes exceptions. If you omit this option, &lt;span class=&#34;sql&#34;&gt;COPY&lt;/span&gt; saves exception files to the following path: &lt;em&gt;&lt;code&gt;catalog-dir&lt;/code&gt;&lt;/em&gt;&lt;code&gt;/CopyErrorLogs/&lt;/code&gt;&lt;em&gt;&lt;code&gt;tablename&lt;/code&gt;&lt;/em&gt;&lt;code&gt;-&lt;/code&gt;&lt;em&gt;&lt;code&gt;sourcefilename&lt;/code&gt;&lt;/em&gt;&lt;code&gt;-copy-from-exceptions&lt;/code&gt;, where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;catalog-dir&lt;/code&gt;&lt;/em&gt; is the directory holding the database catalog files&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;table&lt;/code&gt;&lt;/em&gt; is the name of the table being loaded into&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;sourcefile&lt;/code&gt;&lt;/em&gt; is the name of the file being loaded&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;

&lt;span class=&#34;sql&#34;&gt;REJECTED DATA AS TABLE&lt;/span&gt; is mutually exclusive with &lt;span class=&#34;sql&#34;&gt;EXCEPTIONS&lt;/span&gt;.

&lt;/div&gt;
&lt;p&gt;The file produced by the &lt;span class=&#34;sql&#34;&gt;EXCEPTIONS&lt;/span&gt; option indicates the line number and the reason for each exception.&lt;/p&gt;
&lt;p&gt;If copying from STDIN, the source file name is &lt;span class=&#34;sql&#34;&gt;STDIN&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;You can specify rejected data and exceptions files for individual files in a data load. Separate rejected data and exception file names with commas in the &lt;span class=&#34;sql&#34;&gt;COPY&lt;/span&gt; statement.&lt;/p&gt;
&lt;p&gt;You must specify a filename in the path to load multiple input files. Keep in mind that long table names combined with long data file names can exceed the operating system&#39;s maximum length (typically 255 characters). To work around file names exceeding the maximum length, use a path for the exceptions file that differs from the default path; for example, &lt;code&gt;/tmp/&amp;lt;shorter-file-name&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you specify an &lt;span class=&#34;sql&#34;&gt;EXCEPTIONS&lt;/span&gt; path:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For one data file, the path must be a file, and COPY stores all information in this file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For multiple data files, the path must be a directory. COPY creates one file in this directory for each data file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exceptions files are not stored on the initiator node.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can specify only one path per node.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you do not specify the &lt;span class=&#34;sql&#34;&gt;EXCEPTIONS&lt;/span&gt; path, &lt;span class=&#34;sql&#34;&gt;COPY&lt;/span&gt; stores exception files in the default directory.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Data-Load: COPY rejected data and exception files</title>
      <link>/en/data-load/handling-messy-data/copy-rejected-data-and-exception-files/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/data-load/handling-messy-data/copy-rejected-data-and-exception-files/</guid>
      <description>
        
        
        &lt;p&gt;When executing a &lt;code&gt;COPY&lt;/code&gt; statement, and parallel processing is ON (the default setting), COPY creates separate threads to process load files. Typically, the number of threads depends on the number of node cores in the system. Each node processes part of the load data. If the load succeeds overall, any parser rejections that occur during load processing are written to that node&#39;s specific rejected data and exceptions files. If the load fails, the rejected data file contents can be incomplete, or empty. If you do not specify a file name explicitly, COPY uses a default name and location for rejected data files. See the next topic for specifying your own rejected data and exception files.&lt;/p&gt;
&lt;p&gt;Both rejected data and exceptions files are saved and stored on a per-node basis. This example uses multiple files as &lt;code&gt;COPY&lt;/code&gt; inputs. Since the statement does not include either the &lt;code&gt;REJECTED DATA&lt;/code&gt; or &lt;code&gt;EXCEPTIONS&lt;/code&gt; parameters, rejected data and exceptions files are written to the default location, the database catalog subdirectory, &lt;code&gt;CopyErrorLogs&lt;/code&gt;, on each node:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\set dir `pwd`/data/ \set remote_dir /vertica/test_dev/tmp_ms/
\set file1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;C1_large_tbl.dat&amp;#39;&amp;#39;&amp;#39;
\set file2 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;C2_large_tbl.dat&amp;#39;&amp;#39;&amp;#39;
\set file3 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;C3_large_tbl.dat&amp;#39;&amp;#39;&amp;#39;
\set file4 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;C4_large_tbl.dat&amp;#39;&amp;#39;&amp;#39;
=&amp;gt;COPY large_tbl FROM :file1 ON site01,:file2 ON site01,
               :file3 ON site02,
               :file4 ON site02
               DELIMITER &amp;#39;|&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;specifying-rejected-data-and-exceptions-files&#34;&gt;Specifying rejected data and exceptions files&lt;/h2&gt;
&lt;p&gt;The optional &lt;code&gt;COPY&lt;/code&gt; &lt;code&gt;REJECTED DATA&lt;/code&gt; and &lt;code&gt;EXCEPTIONS&lt;/code&gt; parameters &lt;code&gt;&#39;path&#39;&lt;/code&gt; element lets you specify a non-default path in which to store the files.&lt;/p&gt;
&lt;p&gt;If &lt;em&gt;path&lt;/em&gt; resolves to a storage location, and the user invoking COPY is not a superuser, these are the required permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The storage location must have been created (or altered) with the USER option (see &lt;a href=&#34;../../../en/sql-reference/statements/create-statements/create-location/#&#34;&gt;CREATE LOCATION&lt;/a&gt; and &lt;a href=&#34;../../../en/sql-reference/functions/management-functions/storage-functions/alter-location-use/#&#34;&gt;ALTER_LOCATION_USE&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The user must already have been granted READ access to the storage location where the file(s) exist, as described in &lt;a href=&#34;../../../en/sql-reference/statements/grant-statements/grant-storage-location/#&#34;&gt;GRANT (storage location)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both parameters also have an optional &lt;code&gt;ON&lt;/code&gt; &lt;em&gt;nodename&lt;/em&gt; clause that uses the specified path:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;...[ EXCEPTIONS &lt;span class=&#34;code-variable&#34;&gt;&#39;path&#39;&lt;/span&gt; [ ON &lt;span class=&#34;code-variable&#34;&gt;nodename&lt;/span&gt; ] [, ...] ]...[ REJECTED DATA &lt;span class=&#34;code-variable&#34;&gt;&#39;&lt;/span&gt;path&lt;span class=&#34;code-variable&#34;&gt;&#39;&lt;/span&gt; [ ON &lt;span class=&#34;code-variable&#34;&gt;nodename&lt;/span&gt; ]&lt;span class=&#34;code-input&#34;&gt; &lt;/span&gt;[, ...] ]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;While &lt;em&gt;&#39;path&#39;&lt;/em&gt; specifies the location of the rejected data and exceptions files (with their corresponding parameters), the optional &lt;code&gt;ON&lt;/code&gt; &lt;em&gt;nodename&lt;/em&gt; clause moves any existing rejected data and exception files on the node to the specified path on the same node.&lt;/p&gt;
&lt;h2 id=&#34;saving-rejected-data-and-exceptions-files-to-a-single-server&#34;&gt;Saving rejected data and exceptions files to a single server&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;COPY&lt;/code&gt; statement does not have a facility to merge exception and rejected data files after &lt;code&gt;COPY&lt;/code&gt; processing is complete. To see the contents of exception and rejected data files requires accessing each node&#39;s specific files.

&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;

To save all exceptions and rejected data files on a network host, provide unique names for each node&#39;s data file, so that different cluster nodes do not overwrite other nodes&#39; files. For instance, if you set up a server with two directories (&lt;code&gt;/vertica/exceptions&lt;/code&gt; and &lt;code&gt;/vertica/rejections&lt;/code&gt;), specify file names for each database cluster node to identify each node, such as &lt;code&gt;node01_exceptions.txt&lt;/code&gt; and &lt;code&gt;node02_exceptions.txt&lt;/code&gt;. This way, each cluster node&#39;s files are easily distinguishable in the exceptions and rejections directories.

&lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&#34;using-vsql-variables-for-rejected-data-and-exceptions-files&#34;&gt;Using VSQL variables for rejected data and exceptions files&lt;/h2&gt;
&lt;p&gt;This example uses &lt;code&gt;vsql&lt;/code&gt; variables to specify the path and file names to use with the &lt;code&gt;exceptions&lt;/code&gt; and &lt;code&gt;rejected data&lt;/code&gt; parameters (&lt;code&gt;except_s1&lt;/code&gt; and &lt;code&gt;reject_s1&lt;/code&gt;). The &lt;code&gt;COPY&lt;/code&gt; statement specifies a single input file (&lt;code&gt;large_tbl&lt;/code&gt;) on the initiator node:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\set dir `pwd`/data/ \set file1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;C1_large_tbl.dat&amp;#39;&amp;#39;&amp;#39;
\set except_s1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;exceptions&amp;#39;&amp;#39;&amp;#39;
\set reject_s1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;rejections&amp;#39;&amp;#39;&amp;#39;

COPY large_tbl FROM :file1 ON site01 DELIMITER &amp;#39;|&amp;#39;
REJECTED DATA :reject_s1 ON site01
EXCEPTIONS :except_s1 ON site01;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This example uses variables to specify exception and rejected date files (&lt;code&gt;except_s2&lt;/code&gt; and &lt;code&gt;reject_s2&lt;/code&gt;) on a remote node. The COPY statement consists of a single input file on a remote node (&lt;code&gt;site02&lt;/code&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\set remote_dir /vertica/test_dev/tmp_ms/\set except_s2 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;exceptions&amp;#39;&amp;#39;&amp;#39;
\set reject_s2 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;rejections&amp;#39;&amp;#39;&amp;#39;

COPY large_tbl FROM :file1 ON site02 DELIMITER &amp;#39;|&amp;#39;
REJECTED DATA :reject_s2 ON site02
EXCEPTIONS :except_s2 ON site02;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This example uses variables to specify that the exception and rejected data files are on a remote node (indicated by &lt;code&gt;:remote_dir&lt;/code&gt;). The inputs to the COPY statement consist of multiple data files on two nodes (&lt;code&gt;site01&lt;/code&gt; and &lt;code&gt;site02&lt;/code&gt;). The &lt;code&gt;exceptions&lt;/code&gt; and &lt;code&gt;rejected data&lt;/code&gt; options use the &lt;code&gt;ON &lt;/code&gt;&lt;em&gt;&lt;code&gt;nodename&lt;/code&gt;&lt;/em&gt; clause with the variables to indicate where the files reside (&lt;code&gt;site01&lt;/code&gt; and &lt;code&gt;site02&lt;/code&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\set dir `pwd`/data/ \set remote_dir /vertica/test_dev/tmp_ms/
\set except_s1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;&amp;#39;&amp;#39;&amp;#39;
\set reject_s1 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:dir&amp;#39;&amp;#39;&amp;#39;&amp;#39;
\set except_s2 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;&amp;#39;&amp;#39;&amp;#39;
\set reject_s2 &amp;#39;&amp;#39;&amp;#39;&amp;#39;:remote_dir&amp;#39;&amp;#39;&amp;#39;&amp;#39;
COPY large_tbl FROM :file1 ON site01,
               :file2 ON site01,
               :file3 ON site02,
               :file4 ON site02
               DELIMITER &amp;#39;|&amp;#39;
               REJECTED DATA :reject_s1 ON site01, :reject_s2 ON site02
               EXCEPTIONS :except_s1 ON site01, :except_s2 ON site02;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Data-Load: COPY LOCAL rejection and exception files</title>
      <link>/en/data-load/handling-messy-data/copy-local-rejection-and-exception-files/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/data-load/handling-messy-data/copy-local-rejection-and-exception-files/</guid>
      <description>
        
        
        &lt;p&gt;Invoking COPY LOCAL (or COPY LOCAL FROM STDIN) does not automatically create rejected data and exceptions files. This behavior differs from using COPY, which saves both files automatically, regardless of whether you use the optional &lt;code&gt;REJECTED DATA&lt;/code&gt; and &lt;code&gt;EXCEPTIONS&lt;/code&gt; parameters to specify either file explicitly.&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;REJECTED DATA&lt;/code&gt; and &lt;code&gt;EXCEPTIONS&lt;/code&gt; parameters with COPY LOCAL and COPY LOCAL FROM STDIN to save the corresponding output files on the client. If you do &lt;em&gt;not&lt;/em&gt; use these options, rejected data parsing events (and the exceptions that describe them) are not retained, even if they occur.&lt;/p&gt;
&lt;p&gt;You can load multiple input files using COPY LOCAL (or COPY LOCAL FROM STDIN). If you also use the &lt;code&gt;REJECTED DATA&lt;/code&gt; and &lt;code&gt;EXCEPTIONS&lt;/code&gt; options, the statement writes rejected rows and exceptions and to separate files. The respective files contain all rejected rows and corresponding exceptions, respectively, regardless of how many input files were loaded.&lt;/p&gt;
&lt;p&gt;If COPY LOCAL does not reject any rows, it does not create either file.

&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;

Because COPY LOCAL (and COPY LOCAL FROM STDIN) must write any rejected rows and exceptions to the client, you cannot use the &lt;code&gt;[ON nodename ]&lt;/code&gt; clause with either the &lt;code&gt;rejected data&lt;/code&gt; or &lt;code&gt;exceptions&lt;/code&gt; options.

&lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&#34;specifying-rejected-data-and-exceptions-files&#34;&gt;Specifying rejected data and exceptions files&lt;/h2&gt;
&lt;p&gt;To save any rejected data and their exceptions to files:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the COPY LOCAL (and COPY LOCAL FROM STDIN) statement, use the &lt;code&gt;REJECTED DATA &#39;path&#39;&lt;/code&gt; and the &lt;code&gt;EXCEPTIONS &#39;path&#39;&lt;/code&gt; parameters, respectively.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specify two different file names for the two options. You cannot use one file for both the &lt;code&gt;REJECTED DATA&lt;/code&gt; and the &lt;code&gt;EXCEPTIONS&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you invoke COPY LOCAL or COPY LOCAL FROM STDIN, the files you specify need not pre-exist. If they do, COPY LOCAL must be able to overwrite them.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can specify the path and file names with vsql variables:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\set rejected ../except_reject/copyLocal.rejected
\set exceptions ../except_reject/copyLocal.exceptions
&lt;/code&gt;&lt;/pre&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;

Using &lt;code&gt;COPY LOCAL&lt;/code&gt; does not support storing rejected data in a table, as you can when using the &lt;code&gt;COPY&lt;/code&gt; statement.

&lt;/div&gt;
&lt;p&gt;When you use the COPY LOCAL or COPY LOCAL FROM STDIN statement, specify the variable names for the files with their corresponding parameters:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; COPY large_tbl FROM LOCAL rejected data :rejected exceptions :exceptions;
=&amp;gt; COPY large_tbl FROM LOCAL STDIN rejected data :rejected exceptions :exceptions;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
