User-defined type arrays?

From: Eric Bieschke <eric(at)savagebeast(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: User-defined type arrays?
Date: 2004-10-24 00:01:23
Message-ID: D796616C-254F-11D9-914C-000D932A45E6@savagebeast.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Greetings.

I'm in the process of porting an existing Oracle pl/SQL implementation
to Postgres and plpgsql. My schema, constraint, index, and type
conversion all went surprisingly smooth. I've now begun to shift my
existing pl/SQL implementations to plpgsql and haven't yet figured out
how to properly create pgplsql function parameters of user-defined type
arrays. In hunting down this issue, I realize that I do not understand
how to correctly create user-defined type arrays in any context, not
just within stored function signatures.

I believe this is possible, as the PostGres 7.4 documentation at
http://www.postgresql.org/docs/7.4/static/arrays.html says "Arrays of
any built-in type or user-defined type can be created."

Below is an example of me first creating a table containing a column
using a built-in type array. I then create a user-defined type, and
then receive an error when trying to create a table containing a column
using a user-defined type array:

eric(at)cure> psql eric0
Welcome to psql 7.4.3, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit

eric0=# create table foo ( bar varchar[] );
CREATE TABLE
eric0=# \d foo
Table "public.foo"
Column | Type | Modifiers
--------+---------------------+-----------
bar | character varying[] |

eric0=# create type baz as ( garply integer );
CREATE TYPE
eric0=# \d baz
Composite type "public.baz"
Column | Type
--------+---------
garply | integer

eric0=# create table waldo ( qux baz[] );
ERROR: type "baz[]" does not exist
eric0=# \q

I'm hoping someone can clue me in as to the correct syntax for what I'm
attempting to do, or general guidance.

Thanks in advance.

-- Eric Bieschke

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2004-10-24 00:11:43 Re: User-defined type arrays?
Previous Message Steven Klassen 2004-10-22 16:00:13 Re: Where clause efficiency using "IN"