Re: [GENERAL] CREATE TABLE & composite type - Mailing list pgsql-general

From Adrian Klaver
Subject Re: [GENERAL] CREATE TABLE & composite type
Date
Msg-id f43d4ed6-e9d7-45fb-affa-823aa61565b0@aklaver.com
Whole thread Raw
In response to [GENERAL] CREATE TABLE & composite type  (gmb <gmbouwer@gmail.com>)
Responses Re: [GENERAL] CREATE TABLE & composite type
Re: [GENERAL] CREATE TABLE & composite type
List 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 by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: [GENERAL] Accessing DB2 tables from postgresql
Next
From: gmb
Date:
Subject: Re: [GENERAL] CREATE TABLE & composite type