Unique constraint on field inside composite type.

From: Silk Parrot <silkparrot(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Unique constraint on field inside composite type.
Date: 2016-08-18 06:02:53
Message-ID: etPan.57b54f92.50d1bedf.fb4d@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

    I am trying to model a social login application. The application can support multiple login providers. I am thinking of creating a custom type for each provider. e.g.

CREATE TYPE system.google_user AS (
   email TEXT
);

CREATE TYPE system.facebook_user AS (
   id TEXT
);

   And having user table like:

CREATE TABLE user (
    uuid UUID PRIMARY KEY DEFAULT public.uuid_generate_v4(),
    google_user system.google_user,
    facebook_user system.facebook_user,
    UNIQUE (google_user.email)
);

However, the above create table query reports syntax error:

ERROR:  syntax error at or near "."
LINE 10:     UNIQUE (google_user.email)

Is there a way to create unique constraint on a field inside composite type?

-- 
Regards
Ryan

Responses

Browse pgsql-general by date

  From Date Subject
Next Message hamann.w 2016-08-18 08:56:24 SQL help - multiple aggregates
Previous Message Adrian Klaver 2016-08-18 04:09:35 Re: PGPASSWORD - More than one in a bash script