PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Kolumna wygenerowana przez Postgresql kończy się niepowodzeniem podczas łączenia kolumn nie zerowych

Spróbuj zachować zaangażowane kolumny tego samego typu, np. rzutowanie instance do text powinien załatwić sprawę:

CREATE TABLE IF NOT EXISTS cdr_event
(
    id bigint primary key generated always as identity,
    start_time timestamptz NOT NULL DEFAULT now(),
    end_time timestamptz NULL,
    group_id VARCHAR(10) NOT NULL,
    environment VARCHAR(10) NOT NULL,     
    level VARCHAR(10) NOT NULL,           
    schema VARCHAR(30) NOT NULL,      
    instance INTEGER NOT NULL,            
    hive_instance_db_name VARCHAR(100) GENERATED ALWAYS AS (group_id||'_'||environment||'_'||level||'_'||schema||'_'||instance::text) STORED,
    hive_static_db_name VARCHAR(100) GENERATED ALWAYS AS (group_id||'_'||environment||'_'||level||'_'||schema) STORED
);

Rozważ użycie text zamiast varchar .

Demo:db<>fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql Konwertuj bit zmieniający się na liczbę całkowitą

  2. Korzystanie z sails.js z istniejącą bazą danych postgres

  3. Zagnieżdżone pętle PostgresSQL - Kiedy planista decyduje się na użycie zagnieżdżonej pętli podczas wykonywania INNER JOIN?

  4. zapytanie z podzapytaniem count, sprzężeniem wewnętrznym i grupą

  5. Postgresql, zaktualizuj lub wstaw w zależności od przypadku