Como usar a saída da consulta select como uma entrada na consulta de inserção?

Eu tenho duas tabelas a seguir: -

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

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

Estou me referindo à mesa distrital do armazém. Agora eu quero inserir no armazém. Estou usando a seguinte 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...

Mas isso me dá erro, como mostrado acima. Por que não consigo usar o resultado de outra consulta de seleção na consulta de inserção, como faço na consulta acima? Eu acho que o que estou fazendo é um cenário válido. Existe alguma limitação que impede um caso válido?

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion