Re: turn off auto index for foreign key

Lists: pgsql-admin
From: "Tommy Cheng" <csckcac(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: turn off auto index for foreign key
Date: 2008-06-10 02:48:08
Message-ID: 2267dd9e0806091948k24a46cegcd45e65a5aa632ed@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

Hi admins,
I would like to turn off the auto index for child table's foreign key. It
is because i want to read the information_schema for table, column, index,
unique and so on after creating the database. How to turn off the auto
behavior? Or Is there a way to distinguish between auto one and user created
index?
Thanks
Tommy Cheng


From: "Scott Marlowe" <scott(dot)marlowe(at)gmail(dot)com>
To: "Tommy Cheng" <csckcac(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: turn off auto index for foreign key
Date: 2008-06-10 03:50:03
Message-ID: dcc563d10806092050y3f41ef00j95390d335e4d11c0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

On Mon, Jun 9, 2008 at 8:48 PM, Tommy Cheng <csckcac(at)gmail(dot)com> wrote:
> Hi admins,
> I would like to turn off the auto index for child table's foreign key. It
> is because i want to read the information_schema for table, column, index,
> unique and so on after creating the database. How to turn off the auto
> behavior? Or Is there a way to distinguish between auto one and user created
> index?

There is no auto index creation for child relationships, only for the
parent (unique index for primary key etc)


From: "Tommy Cheng" <csckcac(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: turn off auto index for foreign key
Date: 2008-06-10 04:17:24
Message-ID: 2267dd9e0806092117sda112dt8ac2f2ba8ed5e66f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

you are right. I double checked. So, is there any way to turn off auto index
creation for the parent? (the best is changing postgresql database setting)
I am using postgres (PostgreSQL) 8.1.9 on CentOS 5 x86_64

On Tue, Jun 10, 2008 at 11:50 AM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
wrote:

> On Mon, Jun 9, 2008 at 8:48 PM, Tommy Cheng <csckcac(at)gmail(dot)com> wrote:
> > Hi admins,
> > I would like to turn off the auto index for child table's foreign key.
> It
> > is because i want to read the information_schema for table, column,
> index,
> > unique and so on after creating the database. How to turn off the auto
> > behavior? Or Is there a way to distinguish between auto one and user
> created
> > index?
>
> There is no auto index creation for child relationships, only for the
> parent (unique index for primary key etc)
>


From: "Alex Hunsaker" <badalex(at)gmail(dot)com>
To: "Tommy Cheng" <csckcac(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: turn off auto index for foreign key
Date: 2008-06-10 04:58:15
Message-ID: 34d269d40806092158vc3069e7gfd58166dee46aa2c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

On Mon, Jun 9, 2008 at 10:17 PM, Tommy Cheng <csckcac(at)gmail(dot)com> wrote:
> you are right. I double checked. So, is there any way to turn off auto index
> creation for the parent? (the best is changing postgresql database setting)
> I am using postgres (PostgreSQL) 8.1.9 on CentOS 5 x86_64
>

Again, there is no auto index creation for foriegn keys. However if
you declared the column unique or its the pkey (ala unique) (As Scott
said) then there will an index.

No you cant turn it off because its how postgres enforces uniqueness
see http://www.postgresql.org/docs/8.1/interactive/index-unique-checks.html
for more

My guess, use the name of the index to try to distinguish. Auto
generated ones will always be in the form:
pkey: <table_name>_pkey(num)
unique: <table_name>_<column_name>_key(num)


From: "Tommy Cheng" <csckcac(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: turn off auto index for foreign key
Date: 2008-06-10 05:16:55
Message-ID: 2267dd9e0806092216n1dabf29ai6e7b82a727eaf5c5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

um...Your soln is possible. But if the user created an unique index using
constraint name <table_name>_<column_name>_key5, it will not be able to
distinguish it from other auto index.

On Tue, Jun 10, 2008 at 12:58 PM, Alex Hunsaker <badalex(at)gmail(dot)com> wrote:

> On Mon, Jun 9, 2008 at 10:17 PM, Tommy Cheng <csckcac(at)gmail(dot)com> wrote:
> > you are right. I double checked. So, is there any way to turn off auto
> index
> > creation for the parent? (the best is changing postgresql database
> setting)
> > I am using postgres (PostgreSQL) 8.1.9 on CentOS 5 x86_64
> >
>
> Again, there is no auto index creation for foriegn keys. However if
> you declared the column unique or its the pkey (ala unique) (As Scott
> said) then there will an index.
>
> No you cant turn it off because its how postgres enforces uniqueness
> see
> http://www.postgresql.org/docs/8.1/interactive/index-unique-checks.html
> for more
>
> My guess, use the name of the index to try to distinguish. Auto
> generated ones will always be in the form:
> pkey: <table_name>_pkey(num)
> unique: <table_name>_<column_name>_key(num)
>