¿Cómo utilizar el resultado de la consulta de selección como entrada en la consulta de inserción?

Tengo las siguientes dos tablas: -

postgres=# select * from district;
 id |   name
----+-----------
  1 | Ahmedabad
  2 | Barmer
(2 rows)

postgres=# select * from warehouse;
 id | name | district_id
----+------+-------------
(0 rows)

Me refiero a la mesa del distrito del almacén. Ahora quiero insertar en el almacén. Estoy usando la siguiente consulta

postgres=# insert into warehouse
(name, district_id)
values
('Ghodasar-WH', select id from district where name = 'Ahmedabad');
ERROR:  syntax error at or near "select"
LINE 4: ('Ghodasar-WH', select id from district where name = 'Ahmeda...

Pero me da un error, como se muestra arriba. ¿Por qué no puedo usar el resultado de otra consulta de selección en la consulta de inserción, como lo estoy haciendo en la consulta anterior? Creo que lo que estoy haciendo es un escenario válido. ¿Hay alguna limitación que impida que sea un caso válido?

Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta