PostgreSQL 9.5でIDを主キーとするテーブルを作成しています。誰かが重複IDを挿入しようとすると、テーブルに行を挿入している間、例外を発生させる代わりに無視されるようにしたい。エントリを重複させるテーブル作成自体が無視される間に、これを設定できるような方法はありますか?テーブルの作成時にPostgreSQLで重複キーを無視する方法
挿入クエリを書くときに重複挿入の問題を解決するには、多くの手法があります。つまり、ON CONFLICT DO NOTHINGを使用するか、WHERE EXISTS句などを使用します。しかし、これをテーブル作成時に処理して、すべてのことを気にする必要はありません。
RULEの作成は可能な解決策の1つです。他にも解決策はありますか?
`CREATE TABLE dbo.foo (bar int PRIMARY KEY WITH (FILLFACTOR=90, IGNORE_DUP_KEY = ON))`
正確には、この文は自分のマシン上のPostgreSQL 9.5では機能しませんが、
私の知る限り最善の解決策である、そのような可能性はありません。データを単純に無視したり破棄したりしても、データを挿入する人やプロセスが通知されないようにしたいとは思いません。 – joanolo