PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Indeks Sebagian tidak digunakan dalam klausa ON CONFLICT saat melakukan upsert di Postgresql

Anda harus menggunakan predikat indeks untuk menggunakan indeks unik parsial. Baca di dokumentasi:

indeks_predikat

Digunakan untuk memungkinkan inferensi indeks unik parsial. Setiap indeks yang memenuhi predikat (yang sebenarnya tidak perlu indeks parsial) dapat disimpulkan. Mengikuti format CREATE INDEX.

Dalam hal ini:

INSERT INTO key_value_pair (key, value, is_active) VALUES ('temperature','20', false) 
ON CONFLICT (key) WHERE is_active
DO UPDATE
SET value = '33', is_active = true;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Load Balancing PostgreSQL di Cloud Menjadi Mudah

  2. Bagaimana saya bisa mengubah kolom yang ada sebagai Identitas di PostgreSQL 11.1

  3. Bagaimana cara mencari nilai tertentu di semua tabel (PostgreSQL)?

  4. Heroku Postgres Error:PGError:ERROR:organisasi relasi tidak ada (ActiveRecord::StatementInvalid)

  5. PostgreSQL adalah database terbaik dunia