index naming conventions

Started by Joseph Shraibmanover 24 years ago2 messagesgeneral
Jump to latest
#1Joseph Shraibman
jks@selectacast.net

playpen=# create table jm(
playpen(# jid int NOT NULL,
playpen(# mid int ,
playpen(# UNIQUE(jid, mid)
playpen(# );
NOTICE: CREATE TABLE/UNIQUE will create implicit index 'jm_jid_key' for table 'jm'
CREATE

Why isn't the index created called 'jm_jid_mid_key' ?

--
Joseph Shraibman
jks@selectacast.net
Increase signal to noise ratio. http://www.targabot.com

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joseph Shraibman (#1)
Re: index naming conventions

Joseph Shraibman <jks@selectacast.net> writes:

playpen=# create table jm(
playpen(# jid int NOT NULL,
playpen(# mid int ,
playpen(# UNIQUE(jid, mid)
playpen(# );
NOTICE: CREATE TABLE/UNIQUE will create implicit index 'jm_jid_key' for table 'jm'
CREATE

Why isn't the index created called 'jm_jid_mid_key' ?

Laziness, mainly. There's a subroutine in the parser that's responsible
for forming these names and doing truncation if they are too long. It
only handles three name components (table, field, and "_key" suffix) at
the moment. Feel free to submit a patch that makes it smarter...

regards, tom lane