# Syncing data to Iceberg tables from Data Connection You can use [Data Connection](../../data-connection/overview/index.md) to sync data from supported external sources directly into Foundry Iceberg tables. ![Create new Iceberg sync button in Data Connection application.](../../../assets/8ed5a155877d0bc4dad23932efd58cbf73ed2545c0c6cb4c2aada27be9f3eece.webp) ## Supported sources Currently supported source types are: * [Custom JDBC](../../available-connectors/custom-jdbc-sources/index.md) * [Microsoft SQL Server](../../available-connectors/microsoft-sql-server/index.md) * [Oracle](../../available-connectors/oracle/index.md) * [PostgreSQL](../../available-connectors/postgresql/index.md) * [Snowflake](../../available-connectors/snowflake/index.md) :::callout{theme="warning"} Iceberg syncs are only supported on the [Foundry worker](../../data-connection/architecture/index.md#foundry-worker-with-direct-connection-policies) runtime. When ingesting data from a private network, configuring [agent proxy egress policies](../../administration/configure-egress/index.md#agent-proxy-egress-policies) is recommended. ::: ## Write modes Foundry offers both non-incremental and incremental [batch syncs](../../data-connection/set-up-sync/index.md) into Iceberg for these source types. You can create new Iceberg syncs from the source overview page. When configuring your sync, you can choose between the following write mode options: * **"Overwrite" write mode:** Overwrites all rows in the Iceberg table with new data, producing an `overwrite` Iceberg snapshot. * **"Append" write mode:** Appends new rows to the Iceberg table, while retaining all existing data, producing an `append` Iceberg snapshot. * **"Update" write mode:** Updates existing rows in the Iceberg table which match on a primary key identifier column, inserting new rows for previously unseen identifiers. This produces an `overwrite` Iceberg snapshot, overwriting only the affected data files. More customized incremental ingests are also supported using a wildcard-based custom SQL statement. See the [incremental syncs documentation](../../data-connection/optimize-jdbc-syncs/index.md#incremental-syncs) for more detail. :::callout{theme="warning"} Schema evolution on Iceberg syncs is not supported. This means that re-running a sync after modifying the schema of the source table will fail. Consider creating a new sync on the updated table schema in these circumstances. :::