Skip to main content
Version: 0.6 (Latest)

config

Manage sync configurations. A sync configuration says what to export, where, and where to publish it. It is stored in the LakeXpress DB and run with sync. Examples: Configuration Management recipes, and the other Examples & Recipes.

All config commands also accept the common options.

config create​

Create a sync configuration. The command prints its sync_id and the sync command to run it.

usage: LakeXpress config create --auth_file AUTH_FILE
--lxdb_auth_id ID
--source_db_auth_id ID [OPTIONS]
[common options]

At least one of --output_dir (local disk) or --target_storage_id (cloud storage) is required. config create does not check it: a configuration without either fails when the sync runs.

Sync Identity​

OptionDescription
--sync_id IDName of the sync configuration: 1 to 64 letters, digits, _ or - (e.g. prod-daily-export). Generated if omitted. Fails if the ID already exists
--env_name NAMEEnvironment name, to keep separate configurations for dev, test and prod (default: default)

Source​

OptionDescription
--source_db_auth_id IDRequired. Entry of the credentials file for the source database
--source_db_name NAMESource database name. Default: info.database of the source credentials entry
--source_schema_name PATTERNSchemas to export, comma-separated, SQL LIKE patterns allowed (e.g. public, prod_%). Default: all schemas

Table Filtering​

OptionDescription
-i, --include PATTERNOnly export the tables matching these patterns, comma-separated (e.g. orders%, customer%)
-e, --exclude PATTERNSkip the tables matching these patterns, comma-separated (e.g. temp%, test%)
--min_rows NSkip tables with fewer than N rows
--max_rows NSkip tables with more than N rows

Patterns use SQL LIKE syntax: % matches any characters, _ matches one character.

Incremental Sync​

OptionDescription
--incremental_table SPECExport only new rows of a table, tracked with a watermark column. Repeat for each table. Format: schema.table:column:type[:i|:e][@start][!strategy], e.g. tpch_1.orders:o_orderdate:date
--incremental_safety_lag SECONDSFor datetime and date columns, cap the upper bound at the source's current time minus this many seconds: min(MAX(column), now - lag), so late-committed rows are exported by the next run (default: 0). See Watermarks.

Column types: date, datetime (also for timestamp columns), int, bigint, auto. Lower bound: :e exclusive, column > watermark (default), or :i inclusive, column >= watermark. Tables without --incremental_table are fully exported on each sync. Details: Incremental Sync.

Output​

OptionDescription
--output_dir PATHLocal directory for the Parquet files. A relative path is resolved against the current directory and saved as an absolute path (0.4.9+; use an absolute path with earlier versions)
--target_storage_id IDEntry of the credentials file for the cloud storage (S3, GCS, Azure, OneLake)
--sub_path PATHFolder added between the base path and the schema folders, e.g. staging/temp gives base/staging/temp/schema/table/

Export Engine​

OptionDescription
--fastbcp_dir_path PATHFolder containing FastBCP. Not needed: LakeXpress finds the FastBCP bundled in its engine/ folder
--n_jobs NNumber of tables exported in parallel (default: 1)
-p, --fastbcp_p NParallel processes used by FastBCP within one large table (default: 1)
--large_table_threshold NRow count above which a table is exported in parallel (default: 100000)
--fastbcp_table_config CONFIGPer-table FastBCP settings: [schema.]table:method:key_column:degree, separated by ;, or repeat the option. The degree is required: an entry without it is ignored. E.g. dbo.lineitem:DataDriven:YEAR(l_shipdate):8;orders:Ctid::4, or ORDERS:Timepartition:(ORDER_DATE,year,month):8
--compression_type TYPEParquet compression: Zstd (default), Snappy, Gzip, Lz4 or None

With --n_jobs 4 --fastbcp_p 2, four tables are exported at the same time, each with two processes.

Publishing​

OptionDescription
--publish_target IDEntry of the credentials file for the target platform (Snowflake, Databricks, AWS Glue, Fabric, BigQuery, Redshift, MotherDuck, DuckLake)
--publish_method METHODexternal (default): tables read the Parquet files in cloud storage. internal: data is loaded into the platform. Fabric Lakehouse defaults to internal
--publish_database_name NAMEAWS Glue: Glue database name. BigQuery: dataset name. Replaces --publish_schema_pattern when set. Not used by the other targets
--publish_schema_pattern PATTERNTarget schema name, with tokens {schema}, {database}, {date}, {timestamp}, {uuid}, {subpath} ({table} is not allowed). {database} is the Snowflake target database, and empty for the other targets. Default: EXT_{schema} (external), {schema} (internal)
--publish_table_pattern PATTERNTarget table name, same tokens plus {table}, which it must include. Default: {table}; Fabric Lakehouse: {schema}_{table} (internal) or VW_{schema}_{table} (external), with only {schema} and {table} substituted
--no_viewsDo not create views over external tables (Snowflake)
--pk_constraintsAdd the source primary keys to internal tables (Snowflake, Databricks, Fabric Warehouse, MotherDuck, Redshift; not applied on BigQuery)

Platform-specific defaults and behavior are described on each target platform page.

Metadata​

OptionDescription
--generate_metadataWrite CDM metadata (manifest.json and .cdm.json files) next to the Parquet files
--manifest_name NAMEName of the CDM manifest. Default: schema name (per schema) or database name (global)

Error Handling​

OptionDescription
--error_action ACTIONfail (default): stop at the first failed table. continue: log the error and go on with the other tables

config list​

List the sync configurations.

usage: LakeXpress config list --auth_file AUTH_FILE
--lxdb_auth_id ID [--env_name NAME]
[common options]
OptionDescription
--env_name NAMEOnly list the configurations of this environment

config delete​

Delete a sync configuration with its run history, table metadata and watermarks. Exported files and published tables are not deleted.

usage: LakeXpress config delete --auth_file AUTH_FILE
--lxdb_auth_id ID --sync_id SYNC_ID
[--confirm] [common options]
OptionDescription
--sync_id IDRequired. Sync configuration to delete
--confirmDelete it. Without it, shows what would be deleted
Copyright © 2026 Architecture & Performance.