DuckLake Publishing
Commands use Linux syntax. See Examples & Recipes for the Windows equivalents and the arguments every sync needs.
The credentials entries used below, and the DuckLake setup they rely on, are described in DuckLake Publishing.
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_postgres \
--source_db_name MY_DB \
--source_schema_name MY_SCHEMA \
--target_storage_id s3_01 \
--sub_path mydata \
--publish_target ducklake_catalog \
--publish_schema_pattern "{schema}" \
--publish_table_pattern "{table}"
--publish_targetis the credential ID of the DuckLake catalog entry (see Catalog Configuration).--target_storage_id(or--output_dirfor local exports) is the storage location holding the exported Parquet files; if it points at cloud storage (S3/GCS/Azure), LakeXpress generates aCREATE SECRETstatement so DuckDB can read the files.--publish_schema_pattern/--publish_table_patternfollow the same token syntax ({schema},{table},{database},{date},{timestamp},{uuid},{subpath}) as the other publishers. Default:{schema}/{table}.--publish_methodhas no effect on DuckLake: it always registers the exported Parquet files by reference (never copies data into the catalog). It still influences the CLI's generic default schema pattern ({schema}forinternal,EXT_{schema}for the defaultexternal) unless--publish_schema_patternis set explicitly.