Postgresql - добавить булевский столбец в таблицу по умолчанию

Является ли это правильным синтаксисом postgresql для добавления столбца в таблицу со значением по умолчанию false

ALTER TABLE users
ADD "priv_user" BIT
ALTER priv_user SET DEFAULT '0'

Спасибо!

Ответ 1

ALTER TABLE users
  ADD COLUMN "priv_user" BOOLEAN DEFAULT FALSE;

вы также можете напрямую указать NOT NULL

ALTER TABLE users
  ADD COLUMN "priv_user" BOOLEAN NOT NULL DEFAULT FALSE;

Как сказал Крейг на заполненных таблицах, более эффективно разбить его на этапы:

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;

Ответ 2

Если вам нужен фактический логический столбец:

ALTER TABLE users ADD "priv_user" boolean DEFAULT false;

Ответ 3

Просто для справки в будущем, если у вас уже есть логический столбец, и вы просто хотите добавить значение по умолчанию:

ALTER TABLE users
  ALTER COLUMN priv_user SET DEFAULT false;

Ответ 4

Если вы используете postgresql, тогда вы должны использовать тип столбца BOOLEAN в нижнем регистре как логическое.

ALTER TABLE пользователи ADD "priv_user" boolean DEFAULT false;

Ответ 5

В синтаксисе запроса столбца psql alter, подобном этому

Alter table users add column priv_user boolean default false ;

логическое значение (true-false) сохранить в DB как (t-f) значение.