Thanks Tom for the link. It could actually be beneficial if we need to migrate a customer from one database to another because wouldn't have to worry about pk constraint violations. Craig -----Original Message----- From: Tom Lane [mailto:tgl@xxxxxxxxxxxxx] Sent: Monday, August 8, 2016 1:47 PM To: Craig Boucher <craig@xxxxxxxxxx> Cc: 'David G. Johnston' <david.g.johnston@xxxxxxxxx>; pgsql-general@xxxxxxxxxxxxxx Subject: Re: Column order in multi column primary key "Craig Boucher" <craig@xxxxxxxxxx> writes: > I should have pointed out in my last response that I was wondering if the performance of the pk index on work_session would be better if my primary key was (customer_id, work_session_id) or if (work_session_id, customer_id) will be fine. Customer_id will be repeated quite a bit in the table but work_session_id should be unique across the whole table. You almost certainly want the more-unique column first, so far as the performance of the index itself goes. See https://www.postgresql.org/docs/9.5/static/indexes-multicolumn.html Having said that, I'm pretty skeptical of the notion of redefining what your PK is on performance grounds. With this definition, you'd allow two entries with the same work_session_id, if they chanced to have different customer_ids. Is that really OK? regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general