Re: [GENERAL] CREATE TABLE & composite type
От | Adrian Klaver |
---|---|
Тема | Re: [GENERAL] CREATE TABLE & composite type |
Дата | |
Msg-id | f43d4ed6-e9d7-45fb-affa-823aa61565b0@aklaver.com обсуждение исходный текст |
Ответ на | [GENERAL] CREATE TABLE & composite type (gmb <gmbouwer@gmail.com>) |
Ответы |
Re: [GENERAL] CREATE TABLE & composite type
Re: [GENERAL] CREATE TABLE & composite type |
Список | pgsql-general |
On 06/28/2017 06:27 AM, gmb wrote: > Hi Referencing https://www.postgresql.org/docs/9.6/static/rowtypes.html > Taking a chance here.... Is there a short-hand way in which I can create > a table with the same structure as a user defined composite type ? E.g. > CREATE TYPE inventory_item AS ( name text, supplier_id integer, price > numeric ); CREATE TABLE inventory_item_table ( like type inventory_item > ); We're using composite types rather extensively as the return > structure of functions: CREATE FUNCTION some_func() RETURNS SETOF > inventory_item ....; Of course I can: CREATE TABLE inventory_item_table > AS ( SELECT some_func( ) ); CREATE TABLE inventory_item_table AS ( SELECT some_func( ) limit 0); But , in some cases , where the function > returns a large number of records I want to create the table beforehand > in order to add indexes: CREATE TABLE inventory_item_table ( like type > inventory_item ); CREATE INDEX idx ON inventory_item_table ( id ); > INSERT INTO inventory_item_table SELECT some_func(); Will appreciate any > input. Regards gmbouwer > ------------------------------------------------------------------------ > View this message in context: CREATE TABLE & composite type > <http://www.postgresql-archive.org/CREATE-TABLE-composite-type-tp5969032.html> > Sent from the PostgreSQL - general mailing list archive > <http://www.postgresql-archive.org/PostgreSQL-general-f1843780.html> at > Nabble.com. -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: