2016-10-18 10 views
1

私はインデックスを作成したい2つのカラムがあるテーブルevent_logsを持っています。問題は、列の1つが日時フィールドであることです。これは、指定されたイベントの日付と時刻の両方を格納するために使用するものの99%で問題ありません。日付時刻フィールドの日付のPostgresユニークインデックス

しかし、同じ人物で同じ日付(datetimeではなく、日付のみ)で2つのイベントを作成することを不可能にするユニークなインデックスを作成したいと考えています。

  • quiz_master_id(整数)
  • start_at(日時)

は、指定した日付の代わりに、日時のため、このようなユニークなインデックスを作成するために考えるように行うことも可能ですか?あるいは、これをPostgresで扱う別の同様の方法がありますか?

答えて

2

はい、あなただけの表現にインデックスをしたい:

create unique index idx_eventlogs_startatdate 
    on event_logs(date_trunc('day', start_at))