INET

On this page Carat arrow pointing down
Warning:
CockroachDB v2.1 is no longer supported as of April 30, 2020. For more details, refer to the Release Support Policy.

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

icon/buttons/copy
> CREATE TABLE computers (
    ip INET PRIMARY KEY,
    user_email STRING,
    registration_date DATE
  );
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)
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');
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
On this page

Yes No