Insert в postgres для временной метки типа данных без часовой пояс NOT NULL,

Уведомление базы данных noob: Я пытаюсь вставить в таблицу postgres. Поле, которое я хотел бы вставить, называется make_date.

Тип поля timestamp without time zone NOT NULL, Как мне вставить сегодняшнюю дату? Как сейчас, дата и время? Что-то вроде ниже, но я не могу получить правильный формат ввода данных в формате dateTime.now

insert into inventory_tbl (make_date) values (dateTime.now)

Ответы

Ответ 1

В дополнение к решению C. Ramseyer (это правильно), если вы всегда (или даже обычно) хотите, чтобы make_date была датой создания записи, вы можете установить ее по умолчанию как now():

alter table inventory_tbl alter make_date set default now();

Затем, если вы не включите его в список столбцов в своей вставке, он будет автоматически установлен на now():

test=> insert into inventory_tbl ( name ) values ('brick'), ('sand'), ('obsidian') returning *;
         make_date          |   name   
----------------------------+----------
 2013-03-21 09:10:59.897666 | brick
 2013-03-21 09:10:59.897666 | sand
 2013-03-21 09:10:59.897666 | obsidian
(3 rows)

INSERT 0 3

Ответ 2

Используйте now() или CURRENT_TIMESTAMP.