GENERATE AS

Поиск
Список
Период
Сортировка
От Wetmore, Matthew (CTR)
Тема GENERATE AS
Дата
Msg-id 7c48174f8ce449af8f3e875bdeca7150@express-scripts.com
обсуждение исходный текст
Ответы Re: GENERATE AS  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: GENERATE AS  (Ilya Kosmodemiansky <ik@dataegret.com>)
Re: GENERATE AS  (Ron <ronljohnsonjr@gmail.com>)
Re: GENERATE AS  (J T <jorge.torralba@gmail.com>)
Список pgsql-admin

Hi, I have this issue and now I’m just wasting time. Can you tell me what I’m doing wrong?

 

I’d like to subtract a column timestamp hour from current hour to give me hours elapased.

 

How do I do this easily?

 

I think I’ve tried every combination of types and casting.

 

Thanks in advance.

---------------------------

 

1. ALTER TABLE matt

               add column matt_time timestamp with time zone default current_timestamp;

 

2. select matt_time FROM matt;

 

2023-06-22 14:31:16.548622-04 timestamp with time zone

 

3. Select (date_part('hour', current_timestamp)::INT - date_part('hour', matt_time)::INT) FROM matt

 

0 (same hour, so 0 is OK) INT

 

4. ALTER TABLE auto_auth.matt

               ADD column matt_hour INT  GENERATED ALWAYS AS (date_part('hour', current_timestamp)::INT - date_part('hour', matt_time)::INT) stored       

              

               ERROR:  generation expression is not immutable

SQL state: 42P17

 

 

В списке pgsql-admin по дате отправления:

Предыдущее
От: "Wetmore, Matthew (CTR)"
Дата:
Сообщение: work_mem + refresh mat view concurrently performance
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: GENERATE AS