The INET data type stores an IPv4 or IPv6 address.

Syntax

A constant value of type INET can be expressed using an interpreted literal, or a string literal annotated with type INET or coerced to type INET.

INET constants can be expressed using the following formats:

Format Description
IPv4 Standard RFC791-specified format of 4 octets expressed individually in decimal numbers and separated by periods. Optionally, the address can be followed by a subnet mask.

Examples: '190.0.0.0', '190.0.0.0/24'
IPv6 Standard RFC8200-specified format of 8 colon-separated groups of 4 hexadecimal digits. An IPv6 address can be mapped to an IPv4 address. Optionally, the address can be followed by a subnet mask.

Examples: '2001:4f8:3:ba:2e0:81ff:fe22:d1f1', '2001:4f8:3:ba:2e0:81ff:fe22:d1f1/120', '::ffff:192.168.0.1/24'
Note:
IPv4 addresses will sort before IPv6 addresses, including IPv4-mapped IPv6 addresses.

Size

An INET value is 32 bits for IPv4 or 128 bits for IPv6.

Example

copy
icon/buttons/copy
> CREATE TABLE computers (
    ip INET PRIMARY KEY,
    user_email STRING,
    registration_date DATE
  );
copy
icon/buttons/copy
> SHOW COLUMNS FROM computers;
+-------------------+-----------+-------------+----------------+-----------------------+-------------+
|    column_name    | data_type | is_nullable | column_default | generation_expression |   indices   |
+-------------------+-----------+-------------+----------------+-----------------------+-------------+
| ip                | INET      |    false    | NULL           |                       | {"primary"} |
| user_email        | STRING    |    true     | NULL           |                       | {}          |
| registration_date | DATE      |    true     | NULL           |                       | {}          |
+-------------------+-----------+-------------+----------------+-----------------------+-------------+
(3 rows)
copy
icon/buttons/copy
> INSERT INTO computers
  VALUES
    ('192.168.0.1', 'info@cockroachlabs.com', '2018-01-31'),
    ('192.168.0.2/10', 'lauren@cockroachlabs.com', '2018-01-31'),
    ('2001:4f8:3:ba:2e0:81ff:fe22:d1f1/120', 'test@cockroachlabs.com', '2018-01-31');
copy
icon/buttons/copy
> SELECT * FROM computers;
+--------------------------------------+--------------------------+---------------------------+
|                  ip                  |        user_email        |     registration_date     |
+--------------------------------------+--------------------------+---------------------------+
| 192.168.0.1                          | info@cockroachlabs.com   | 2018-01-31 00:00:00+00:00 |
| 192.168.0.2/10                       | lauren@cockroachlabs.com | 2018-01-31 00:00:00+00:00 |
| 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/120 | test@cockroachlabs.com   | 2018-01-31 00:00:00+00:00 |
+--------------------------------------+--------------------------+---------------------------+

Supported casting and conversion

INET values can be cast to the following data type:

  • STRING - Converts to format 'Address/subnet'.

See also



Yes No