PostgreSQL - INSERT tablicę tablic zawierających typ złożony

Mam typ złożony zawierający tablice TEKSTU itp. Używam tego wewnątrz mojej głównej tabeli, aby utworzyć tablicę typu złożonego.
Jak wygenerować polecenie INSERT (bez używania domyślnych nazw pól typu złożonego)? Czy mogę utworzyć STRONĘ TYMCZASOWĄ z tablicą kompozytów, a następnie wstawić ją do tabeli głównej?

Na przykład:

DROP TABLE collection;
DROP TABLE book_set;
DROP TYPE book;

CREATE TYPE book AS ( title TEXT, authors TEXT[], extra_spare TEXT );
CREATE TEMPORARY TABLE book_set ( books book[] );
CREATE TABLE shelf_collection ( shelf INT, position INT, books book[] );

-- Prefer to specify the fields I want, and NOT extra_spare as shown here!
-- AND it doesn't yet work... needs more casting?
INSERT INTO book_set( books ) VALUES (
      ( 'book1', array[ ( 'author1', 'author2' ) ], '' ),
      ( 'book2', array[ ( 'author3' )            ], '' ) ); 

-- And this obviously does not work yet!
INSERT INTO shelf_collection( shelf, position, books ) VALUES ( 1, 2, book_set ); 

Pierwszy WSTAW nie powiedzie się z komunikatem:

BŁĄD: WSTAW ma więcej wyrażeń niż kolumn docelowych.

Nie radzi sobie z lub bez konstrukcji tablicy [].

Moje rzeczywiste użycie jest znacznie bardziej złożone, ponieważ kompozyt zawiera inne kompozyty i wiele dziedzin.

Nie używam tutaj wielu tabel ze względu na wydajność (nie wymaga łączenia przy pobieraniu), a wewnętrzne kompozyty i tablice nigdy nie są przywoływane niezależnie.

ja używamperl(5.14.2) iDBI(1.616) ipsql(9.1.7).

WIĘCEJ INFORMACJI:

Poniższe działa, ale jak mogę go zmienić, aby nie trzeba było określać WSZYSTKICH pól książki:

DROP TABLE shelf_collection;
DROP TYPE book;

CREATE TYPE  book AS          ( title TEXT, authors TEXT[], extra_spare TEXT );
CREATE TABLE shelf_collection ( shelf INT, position INT, books book[] );

INSERT INTO shelf_collection VALUES ( 12, 23, array[ROW( 'book title 1', array[ 'author1', 'author2' ], '' )::book] );

SELECT * FROM shelf_collection;

questionAnswers(1)

yourAnswerToTheQuestion