now() vs transaction_timestamp()

Поиск
Список
Период
Сортировка
От Konstantin Knizhnik
Тема now() vs transaction_timestamp()
Дата
Msg-id 6406dbd2-5d37-4cb6-6eb2-9c44172c7e7c@postgrespro.ru
обсуждение исходный текст
Ответы Re: now() vs transaction_timestamp()
Список pgsql-hackers
Postgres documentation says that "now() is a traditional PostgreSQL equivalent to transaction_timestamp()".
Also both use the same implementation.
But them have different parallel safety property:

postgres=# \df+ now 
                                                                                         List of functions
   Schema   | Name |     Result data type     | Argument data types | Type | Volatility |  Parallel  |  Owner   | Security | Access privileges | Language |
 Source code |       Description       
------------+------+--------------------------+---------------------+------+------------+------------+----------+----------+-------------------+----------+
-------------+--------------------------
 pg_catalog | now  | timestamp with time zone |                     | func | stable     | restricted | knizhnik | invoker  |                   | internal |
 now         | current transaction time
(1 row)

postgres=# \df+ transaction_timestamp
                                                                                                List of functions
   Schema   |         Name          |     Result data type     | Argument data types | Type | Volatility | Parallel |  Owner   | Security | Access privileg
es | Language | Source code |       Description       
------------+-----------------------+--------------------------+---------------------+------+------------+----------+----------+----------+----------------
---+----------+-------------+--------------------------
 pg_catalog | transaction_timestamp | timestamp with time zone |                     | func | stable     | safe     | knizhnik | invoker  |               
   | internal | now         | current transaction time
(1 row)

As a result using now() in query disable parallel execution while transaction_timestamp allows it.
Was it done intentionally or it is just a bug?

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company 

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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: automatic restore point
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: Relax transactional restrictions on ALTER ENUM ... ADD TYPE(redux)