File export settings

File export settings#

File export settings govern whether this Querona instance may write query results to files with CREATE EXTERNAL TABLE ... AS SELECT (CETAS), and which engine writes the Parquet files an export produces. See Export query results to files for what an export looks like and how a data source connection confines where the files land.

Allow file export#

Allow file export (System_Core_FileExport_Enabled) is the instance-wide switch for the whole feature, and it is off by default.

While it is off, every CREATE EXTERNAL TABLE ... AS SELECT is refused before any file is opened or written — whatever rights the caller holds, and whichever data source the statement names — with a message saying that export to files is disabled on this instance. Turning it on grants nobody anything by itself: a caller still needs table-creation rights in the target database and control of the data source connection being written through.

Warning

Treat this as an egress control rather than a convenience toggle. While it is on, every user who holds both of those rights can write the result of any query they can run into the folder their data source points at, on storage the Querona service account can reach. Leave it off on instances that have no reason to export, and grant the rights and the data sources deliberately on those that do.

Parquet writer#

Parquet writer (System_Core_FileExport_ParquetWriter) selects which engine writes Parquet files. The default — and the only value available in this version — is ParquetNet.

The value is matched without regard to case. Any other value makes a Parquet export fail, with a message naming the engines this version offers; it is never quietly replaced by the default, because a typo that silently changed which engine wrote your data would be worse than an export that stops and says so.

Warning

This setting changes the contents of the files that are written, not how fast they are written. Write engines differ in the type annotations they emit, in the precision they can carry for types such as time and decimal, and in the details of how they compress — so the same query exported by two engines does not produce byte-identical files, and a consumer that reads those files can see the difference. It is a compatibility setting, not a performance knob: change it because a consumer needs particular file contents, and re-check the consumers of an export afterwards.

Note

Only the parquet file format is affected. Delimited-text exports (csv, tsv) are written the same way regardless of this setting.

See also#