Skip to main content
Version: 1.2 (Preview)

Datatypes Conversion

When FastBCP exports a table, every native source column type is mapped to a type in the target output format. This section documents the exact mappings FastBCP produces.

These pages are not a specification: each one is the Parquet schema read back from a real export of a test table covering all of the source's native datatypes.

Supported Sources

Sources are grouped by database system. A system can be read through several connection types (--connectiontype), and each one has its own page because the mappings it produces can differ — pgcopy produces exactly the same mappings as pgsql, while the ADBC connectors differ from their standard counterparts on several types.

DatabaseConnection Types
SQL Servermssql · adbc_mssql
MySQLmysql
Oracleoraodp
PostgreSQLpgsql · pgcopy · adbc_pgsql
SAP HANAhana
Teradatateradata

Parquet is the only output format documented here.

How to Read a Page

Each page opens with a summary of the export it documents — source, output format, the FastBCP build used and the test status — followed by the Parquet schema produced from the testdatatypes_nullable table, in which every column accepts NULL.

ColumnDescription
nameThe column name in the source table
physical_typeThe Parquet physical storage type: BOOLEAN, INT32, INT64, FLOAT, DOUBLE, BYTE_ARRAY or FIXED_LEN_BYTE_ARRAY
converted_typeThe legacy Parquet annotation on top of it (UTF8, DECIMAL, DATE, TIMESTAMP_MILLIS, …)
logical_typeThe modern Parquet annotation (StringType(), DecimalType(scale=2, precision=18), IntType(…), …)

A means the column carries no annotation of that kind, so the physical type alone describes it.

NOT NULL columns

Declaring the source columns NOT NULL does not change the mapping. The only difference is the Parquet repetition level (REQUIRED instead of OPTIONAL), which these tables do not show.

Copyright © 2026 Architecture & Performance.