I have a composite primary key for a table, let's call it (col1, col2). When this table is created, obviously an implicit index is created for this key. I would like the sort order of this index to be different for the two columns -- if I were to create the index myself, I would pass on (col1, col2 DESC). The ALTER INDEX documentation suggests that it's not possible to change the sort order of a column, so I can envision two ways to get around this: 1) create a second UNIQUE index of (col1, col2 DESC), or 2) not define a primary key and just specify a UNIQUE index separately. Primary keys are basically restricted to being unique and non-null, but I'm unclear if PostgreSQL treats primary keys differently from unique, non-null constraints.