# Exchange PostgreSQL results through files

Export a PostgreSQL query with the source system's own tools, then load the resulting file into Coordinator DB. The documented Coordinator DB interface does not provide a direct PostgreSQL connector. File exchange makes the source boundary and type conversions visible.

## Choose matching conventions

Select the columns and source range explicitly. For CSV, align the header, delimiter, quoting and null representation with the selected input format and settings. For JSON, make sure the export is truly one row object per record when using `json_each_row`. For Parquet, inspect the source schema before creating the destination.

Pay particular attention to exact numeric scale, timestamps with offsets, arrays and binary values. A source-specific textual representation is not automatically a compatible native value. Convert it in the source export or external importer when necessary.

## Validate the transferred dataset

Create a fresh destination table and load a representative sample before the full transfer. Compare row counts over the same boundary and inspect edge values. Record the snapshot or key range represented by each file so a later retry cannot silently duplicate accepted data.

Once validated, Coordinator DB can export the rows to another registered format through `SELECT ... FORMAT` and native exact-byte output.

See [format reference](https://coordinatordb.com/docs/reference/formats), [data types](https://coordinatordb.com/docs/reference/data-types) and [client file input](https://coordinatordb.com/docs/concepts/features/operations/insert/bulkinserts).
