sql >> Databáze >  >> RDS >> PostgreSQL

Přejmenování hodnoty výčtu má za následek, že typový vztah nebyl nalezen

Přejmenování hodnoty enum je podporováno pouze počínaje Postgres 10.

Jak je zdokumentováno v příručce musíte použít rename VALUE , nikoli rename attribute přejmenovat hodnotu enum.

Hodnoty výčtů jsou také řetězcové konstanty, nikoli identifikátory. Proto je musíte uzavřít do jednoduchých, nikoli dvojitých uvozovek:

ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';

Pokud vás zajímá, proč se vám zobrazuje chyba „typ ... neexistuje“ se špatnou syntaxí:

Když použijete volbu RENAME ATTRIBUTE to znamená, že by měl být změněn "běžný" typ objektu, takže Postgres hledá "skutečný" typ objektu.

Ale "typ výčtu" není "typ objektu", a proto si Postgres stěžuje na "typ xyz neexistuje", spíše než na chybu syntaxe.




  1. Upozornění:mysql_query():zadaný argument není platným zdrojem MySQL-Link

  2. Jak nainstalovat Haproxy a Keepalived

  3. Průměr seskupených řádků na serveru SQL Server

  4. Vyplňte data skupiny do konkrétní série na Highcharts