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

kesalahan:ALTER TYPE ... ADD tidak dapat berjalan di dalam blok transaksi

Seperti yang disebutkan di atas, Anda tidak dapat mengedit enum di dalam blok transaksi. Tapi Anda bisa membuat yang baru. Berikut langkah-langkahnya:

  1. Ubah jenis dari request_type ke varchar untuk semua kolom/tabel yang menggunakan tipe ini:
ALTER TABLE table_name
    ALTER COLUMN column_name TYPE VARCHAR(255);
  1. Lepaskan dan buat lagi request_type enum:
DROP TYPE IF EXISTS request_type;
CREATE TYPE request_type AS ENUM (
    'OLD_VALUE_1',
    'OLD_VALUE_2',
    'NEW_VALUE_1',
    'NEW_VALUE_2'
);
  1. Kembalikan jenis dari varchar ke request_type untuk semua kolom/tabel (kembalikan langkah pertama):
ALTER TABLE table_name
    ALTER COLUMN column_name TYPE request_type
    USING (column_name::request_type);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengindeksan lambat dari tabel Postgis 300GB

  2. Bagaimana cara menghasilkan daftar Bulan di PostgreSQL?

  3. Django:IntegrityError selama Many To Many add()

  4. Ikhtisar PostgreSQL Query Caching &Load Balancing

  5. gunakan coba/kecuali dengan psycopg2 atau dengan penutupan?