title_wip

[Edit this page](https://github.com/ClickHouse/ClickHouse/tree/master/docs/en/interfaces/formats/MsgPack.md)

|  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- |
| Input Output Alias|  |  |  | | --- | --- | --- | | ✔ ✔  | | | | | |

## Description[​](#description "Direct link to Description")

ClickHouse supports reading and writing [MessagePack](https://msgpack.org/) data files.

## Data types matching[​](#data-types-matching "Direct link to Data types matching")

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| MessagePack data type (`INSERT`) ClickHouse data type MessagePack data type (`SELECT`)|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `uint N`, `positive fixint` [`UIntN`](/docs/sql-reference/data-types/int-uint) `uint N`| `int N`, `negative fixint` [`IntN`](/docs/sql-reference/data-types/int-uint) `int N`| `bool` [`UInt8`](/docs/sql-reference/data-types/int-uint) `uint 8`| `fixstr`, `str 8`, `str 16`, `str 32`, `bin 8`, `bin 16`, `bin 32` [`String`](/docs/sql-reference/data-types/string) `bin 8`, `bin 16`, `bin 32`| `fixstr`, `str 8`, `str 16`, `str 32`, `bin 8`, `bin 16`, `bin 32` [`FixedString`](/docs/sql-reference/data-types/fixedstring) `bin 8`, `bin 16`, `bin 32`| `float 32` [`Float32`](/docs/sql-reference/data-types/float) `float 32`| `float 64` [`Float64`](/docs/sql-reference/data-types/float) `float 64`| `uint 16` [`Date`](/docs/sql-reference/data-types/date) `uint 16`| `int 32` [`Date32`](/docs/sql-reference/data-types/date32) `int 32`| `uint 32` [`DateTime`](/docs/sql-reference/data-types/datetime) `uint 32`| `uint 64` [`DateTime64`](/docs/sql-reference/data-types/datetime) `uint 64`| `fixarray`, `array 16`, `array 32` [`Array`](/docs/sql-reference/data-types/array)/[`Tuple`](/docs/sql-reference/data-types/tuple) `fixarray`, `array 16`, `array 32`| `fixmap`, `map 16`, `map 32` [`Map`](/docs/sql-reference/data-types/map) `fixmap`, `map 16`, `map 32`| `uint 32` [`IPv4`](/docs/sql-reference/data-types/ipv4) `uint 32`| `bin 8` [`String`](/docs/sql-reference/data-types/string) `bin 8`| `int 8` [`Enum8`](/docs/sql-reference/data-types/enum) `int 8`| `bin 8` [`(U)Int128`/`(U)Int256`](/docs/sql-reference/data-types/int-uint) `bin 8`| `int 32` [`Decimal32`](/docs/sql-reference/data-types/decimal) `int 32`| `int 64` [`Decimal64`](/docs/sql-reference/data-types/decimal) `int 64`| `bin 8` [`Decimal128`/`Decimal256`](/docs/sql-reference/data-types/decimal) `bin 8` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

## Example usage[​](#example-usage "Direct link to Example usage")

Writing to a file ".msgpk":

```
$ clickhouse-client --query="CREATE TABLE msgpack (array Array(UInt8)) ENGINE = Memory;"
$ clickhouse-client --query="INSERT INTO msgpack VALUES ([0, 1, 2, 3, 42, 253, 254, 255]), ([255, 254, 253, 42, 3, 2, 1, 0])";
$ clickhouse-client --query="SELECT * FROM msgpack FORMAT MsgPack" > tmp_msgpack.msgpk;
```

## Format settings[​](#format-settings "Direct link to Format settings")

|  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Setting Description Default|  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | | [`input_format_msgpack_number_of_columns`](/docs/operations/settings/formats#input_format_msgpack_number_of_columns) the number of columns in inserted MsgPack data. Used for automatic schema inference from data. `0`| [`output_format_msgpack_uuid_representation`](/docs/operations/settings/formats#output_format_msgpack_uuid_representation) the way how to output UUID in MsgPack format. `EXT` | | | | | | | | |

- [Description](#description)- [Data types matching](#data-types-matching)- [Example usage](#example-usage)- [Format settings](#format-settings)

Was this page helpful?