Odpowiedzi:
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;
możesz również bezpośrednio określić NOT NULL
ALTER TABLE users
ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;
AKTUALIZACJA : poniższe jest prawdziwe tylko dla wersji przed postgresql 11.
Jak wspomniał Craig na wypełnionych tabelach, bardziej efektywne jest podzielenie go na kroki:
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
UPDATE users SET priv_user = 'f';
ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
ALTER TABLE users ALTER COLUMN priv_user SET DEFAULT FALSE;
ALTER TABLE users ADD COLUMN priv_user BOOLEAN;
, a potem UPDATE users SET priv_user = 'f';
i na koniec, jeśli zajdzie taka potrzeba ALTER TABLE users ALTER COLUMN priv_user SET NOT NULL;
.
Jeśli chcesz mieć rzeczywistą kolumnę logiczną:
ALTER TABLE users ADD "priv_user" boolean DEFAULT false;
Jeśli używasz postgresql, musisz użyć typu BOOLEAN małymi literami jako wartości logicznej.
ALTER TABLE użytkownicy ADD "priv_user" boolean DEFAULT false;
W psql zmieniaj składnię zapytań kolumnowych w ten sposób
Alter table users add column priv_user boolean default false ;
wartość logiczna (prawda-fałsz) zapisz w DB jak wartość (tf) .
boolean
kolumnę?