Using map type

Use a map when pairs of related elements must be stored as a key-value pair.

A map relates one item to another with a key-value pair. For each key, only one value may exist, and duplicates cannot be stored. Both the key and the value are designated with a data type.

Using the map type, you can store timestamp-related information in user profiles. Each element of the map is internally stored as a single column that you can modify, replace, delete, and query. Each element can have an individual time-to-live and expire when the TTL ends.

Procedure

Define teams in a table cyclist_teams. Each team listed in the map will have an integer data type for the year a cyclist belonged to the team and a text data type for the team name. The map collection is specified with a map column name and the pair of data types enclosed in angle brackets. The following example shows the table and the initial row.
CREATE TABLE IF NOT EXISTS cycling.cyclist_teams (
  id uuid PRIMARY KEY,
  firstname text,
  lastname text,
  teams map<int, text>
);
 id                                   | firstname | lastname | teams
--------------------------------------+-----------+----------+---------------------------------------------------------------------------
---------
 5b6962dd-3f90-4c93-8f61-eabfa4a803e2 |  Marianne |      VOS | {2014: 'Rabobank-Liv Woman Cycling Team', 2015: 'Rabobank-Liv Woman Cyclin
g Team'}

(1 rows)