Tengo una tabla SQL como la siguiente.
CREATE TABLE my_table ( id serial, user_id int, order_no character varying(50), date_time timestamp, primary key (id, user_id, date_time), unique(user_id, order_no) ) PARTITION BY RANGE (date_time); tengo una mesa Necesito una columna order_no única con la columna user_id . no hay ningún problema.
Pero tengo una columna data_time única porque uso la partición. pero la columna date_time debe separarse con user_id y order_no .
Por cierto, no quiero algo así unique (user_id, order_no, data_time)
¿Cómo puedo hacer una date_time única en esta tabla?
No hay forma de crear un índice único o una restricción que garantice que order_no o user_id sean únicos. Ese es uno de los inconvenientes de la partición.
Podría crear restricciones únicas en las particiones. Si bien eso no garantiza la singularidad global, es muy útil.