Microsoft Fabric Publishing
Commands use Linux syntax. See Examples & Recipes for the Windows equivalents and the arguments every sync needs.
Export to OneLake, then create Fabric Lakehouse tables.
PostgreSQL to Fabric (Internal/Delta Tables)
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_mssql \
--source_db_auth_id source_postgres \
--source_db_name tpch \
--source_schema_name tpch_1 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method internal \
--fastbcp_p 2 \
--n_jobs 4 \
--generate_metadata
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_mssql \
--sync_id <SYNC_ID>
PostgreSQL to Fabric (External/SQL Views)
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_mssql \
--source_db_auth_id source_postgres \
--source_db_name tpch \
--source_schema_name tpch_1 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method external \
--publish_table_pattern "VW_{schema}_{table}" \
--fastbcp_p 2 \
--n_jobs 4 \
--generate_metadata
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_mssql \
--sync_id <SYNC_ID>
More Examples
The credentials entries used below, and the Microsoft Fabric setup they rely on, are described in Microsoft Fabric Publishing.
Example 1: PostgreSQL to Fabric Delta Tables
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_postgres \
--source_db_name tpch \
--source_schema_name tpch_1 \
--fastbcp_p 2 \
--n_jobs 4 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method internal \
--generate_metadata
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--sync_id <SYNC_ID>
Tables (customer, orders, lineitem, etc.) appear in the Lakehouse Tables section, queryable via SQL analytics endpoint and Power BI.
Example 2: SQL Server to Fabric with Custom Naming
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_mssql \
--source_db_name adventureworksdw \
--source_schema_name dbo \
--fastbcp_p 2 \
--n_jobs 4 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method internal \
--publish_table_pattern "dw_{table}"
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--sync_id <SYNC_ID>
Creates tables dw_DimCustomer, dw_DimProduct, dw_FactSales, etc.
Example 3: SQL Analytics Views (External)
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_postgres \
--source_db_name tpch \
--source_schema_name tpch_1 \
--fastbcp_p 2 \
--n_jobs 4 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method external \
--publish_table_pattern "VW_{schema}_{table}"
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--sync_id <SYNC_ID>
Parquet files land in the Files section; views VW_tpch_1_customer, VW_tpch_1_orders, etc. appear in the SQL analytics endpoint.
Example 4: Parallel Table Creation
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_postgres \
--source_db_name tpch \
--source_schema_name tpch_1 \
--fastbcp_p 4 \
--n_jobs 8 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method internal
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--sync_id <SYNC_ID>
Example 5: MySQL to Fabric
./LakeXpress config create \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--source_db_auth_id source_mysql \
--source_db_name ecommerce \
--source_schema_name ecommerce \
--fastbcp_p 2 \
--n_jobs 4 \
--target_storage_id onelake_01 \
--publish_target fabric_lakehouse \
--publish_method internal \
--publish_table_pattern "mysql_{table}"
./LakeXpress sync \
-a credentials.json \
--lxdb_auth_id lxdb_postgres \
--sync_id <SYNC_ID>