parse
INSERT INTO a VALUES (1)
----
INSERT INTO a VALUES (1)
INSERT INTO a VALUES ((1)) -- fully parenthesized
INSERT INTO a VALUES (_) -- literals removed
INSERT INTO _ VALUES (1) -- identifiers removed

parse
EXPLAIN INSERT INTO a VALUES (1)
----
EXPLAIN INSERT INTO a VALUES (1)
EXPLAIN INSERT INTO a VALUES ((1)) -- fully parenthesized
EXPLAIN INSERT INTO a VALUES (_) -- literals removed
EXPLAIN INSERT INTO _ VALUES (1) -- identifiers removed

parse
INSERT INTO a.b VALUES (1)
----
INSERT INTO a.b VALUES (1)
INSERT INTO a.b VALUES ((1)) -- fully parenthesized
INSERT INTO a.b VALUES (_) -- literals removed
INSERT INTO _._ VALUES (1) -- identifiers removed

parse
INSERT INTO a.b@c VALUES (1)
----
INSERT INTO a.b@c VALUES (1)
INSERT INTO a.b@c VALUES ((1)) -- fully parenthesized
INSERT INTO a.b@c VALUES (_) -- literals removed
INSERT INTO _._@_ VALUES (1) -- identifiers removed

parse
INSERT INTO a VALUES (1, 2)
----
INSERT INTO a VALUES (1, 2)
INSERT INTO a VALUES ((1), (2)) -- fully parenthesized
INSERT INTO a VALUES (_, _) -- literals removed
INSERT INTO _ VALUES (1, 2) -- identifiers removed

parse
INSERT INTO a VALUES (1, DEFAULT)
----
INSERT INTO a VALUES (1, DEFAULT)
INSERT INTO a VALUES ((1), (DEFAULT)) -- fully parenthesized
INSERT INTO a VALUES (_, DEFAULT) -- literals removed
INSERT INTO _ VALUES (1, DEFAULT) -- identifiers removed

parse
INSERT INTO a VALUES (1, 2), (3, 4)
----
INSERT INTO a VALUES (1, 2), (3, 4)
INSERT INTO a VALUES ((1), (2)), ((3), (4)) -- fully parenthesized
INSERT INTO a VALUES (_, _), (__more1_10__) -- literals removed
INSERT INTO _ VALUES (1, 2), (3, 4) -- identifiers removed

parse
INSERT INTO a VALUES (0), (0), (0), (0), (0), (0)
----
INSERT INTO a VALUES (0), (0), (0), (0), (0), (0)
INSERT INTO a VALUES ((0)), ((0)), ((0)), ((0)), ((0)), ((0)) -- fully parenthesized
INSERT INTO a VALUES (_), (__more1_10__) -- literals removed
INSERT INTO _ VALUES (0), (0), (0), (0), (0), (0) -- identifiers removed

parse
INSERT INTO a VALUES (0, 0, 0, 0, 0, 0)
----
INSERT INTO a VALUES (0, 0, 0, 0, 0, 0)
INSERT INTO a VALUES ((0), (0), (0), (0), (0), (0)) -- fully parenthesized
INSERT INTO a VALUES (_, _, __more1_10__) -- literals removed
INSERT INTO _ VALUES (0, 0, 0, 0, 0, 0) -- identifiers removed

parse
INSERT INTO a VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0])
----
INSERT INTO a VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0])
INSERT INTO a VALUES ((ARRAY[(0), (0), (0), (0), (0), (0), (0)])) -- fully parenthesized
INSERT INTO a VALUES (ARRAY[_, _, __more1_10__]) -- literals removed
INSERT INTO _ VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0]) -- identifiers removed

parse
INSERT INTO a VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
----
INSERT INTO a VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) -- normalized!
INSERT INTO a VALUES ((ARRAY[(0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0), (0)])) -- fully parenthesized
INSERT INTO a VALUES (ARRAY[_, _, __more10_100__]) -- literals removed
INSERT INTO _ VALUES (ARRAY[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) -- identifiers removed

parse
INSERT INTO a VALUES (-2, +3)
----
INSERT INTO a VALUES (-2, 3) -- normalized!
INSERT INTO a VALUES ((-2), (3)) -- fully parenthesized
INSERT INTO a VALUES (_, _) -- literals removed
INSERT INTO _ VALUES (-2, 3) -- identifiers removed

parse
INSERT INTO a VALUES (a + 1, 2 * 3)
----
INSERT INTO a VALUES (a + 1, 2 * 3)
INSERT INTO a VALUES (((a) + (1)), ((2) * (3))) -- fully parenthesized
INSERT INTO a VALUES (a + _, _ * _) -- literals removed
INSERT INTO _ VALUES (_ + 1, 2 * 3) -- identifiers removed

parse
INSERT INTO a(a, b) VALUES (1, 2)
----
INSERT INTO a(a, b) VALUES (1, 2)
INSERT INTO a(a, b) VALUES ((1), (2)) -- fully parenthesized
INSERT INTO a(a, b) VALUES (_, _) -- literals removed
INSERT INTO _(_, _) VALUES (1, 2) -- identifiers removed

parse
INSERT INTO foo(x) TABLE bar
----
INSERT INTO foo(x) TABLE bar
INSERT INTO foo(x) TABLE bar -- fully parenthesized
INSERT INTO foo(x) TABLE bar -- literals removed
INSERT INTO _(_) TABLE _ -- identifiers removed

parse
INSERT INTO a SELECT b, c FROM d
----
INSERT INTO a SELECT b, c FROM d
INSERT INTO a SELECT (b), (c) FROM d -- fully parenthesized
INSERT INTO a SELECT b, c FROM d -- literals removed
INSERT INTO _ SELECT _, _ FROM _ -- identifiers removed

parse
INSERT INTO a DEFAULT VALUES
----
INSERT INTO a DEFAULT VALUES
INSERT INTO a DEFAULT VALUES -- fully parenthesized
INSERT INTO a DEFAULT VALUES -- literals removed
INSERT INTO _ DEFAULT VALUES -- identifiers removed

parse
INSERT INTO a VALUES (1) RETURNING a, b
----
INSERT INTO a VALUES (1) RETURNING a, b
INSERT INTO a VALUES ((1)) RETURNING (a), (b) -- fully parenthesized
INSERT INTO a VALUES (_) RETURNING a, b -- literals removed
INSERT INTO _ VALUES (1) RETURNING _, _ -- identifiers removed

parse
INSERT INTO a VALUES (1, 2) RETURNING 1, 2
----
INSERT INTO a VALUES (1, 2) RETURNING 1, 2
INSERT INTO a VALUES ((1), (2)) RETURNING (1), (2) -- fully parenthesized
INSERT INTO a VALUES (_, _) RETURNING _, _ -- literals removed
INSERT INTO _ VALUES (1, 2) RETURNING 1, 2 -- identifiers removed

parse
INSERT INTO a VALUES (1, 2) RETURNING a + b, c
----
INSERT INTO a VALUES (1, 2) RETURNING a + b, c
INSERT INTO a VALUES ((1), (2)) RETURNING ((a) + (b)), (c) -- fully parenthesized
INSERT INTO a VALUES (_, _) RETURNING a + b, c -- literals removed
INSERT INTO _ VALUES (1, 2) RETURNING _ + _, _ -- identifiers removed

parse
INSERT INTO a VALUES (1, 2) RETURNING NOTHING
----
INSERT INTO a VALUES (1, 2) RETURNING NOTHING
INSERT INTO a VALUES ((1), (2)) RETURNING NOTHING -- fully parenthesized
INSERT INTO a VALUES (_, _) RETURNING NOTHING -- literals removed
INSERT INTO _ VALUES (1, 2) RETURNING NOTHING -- identifiers removed

error
INSERT INTO kv (k[0]) VALUES ('hello')
----
at or near "[": syntax error
DETAIL: source SQL:
INSERT INTO kv (k[0]) VALUES ('hello')
                 ^
HINT: try \h <SELECTCLAUSE>
