I am trying to select now() from my local postgres database dual table:

select now() from dual;

It returns no rows. Just prints column name now(yyyy-MM-dd HH:mm:ss.ffffff)

What is it that I am missing that it cannot get the system time?

1 Answer 1


Don't create dual tables

Why are you using a dual table in PostgreSQL to begin with? PostgreSQL has an implicit dual table if there is no from-clause.

SELECT now(); -- works fine.

You can also

SELECT * FROM now(); -- works fine.

Creating a dual table should still work

You'll never need a dual table with PostgreSQL, and you shouldn't create one: it just convolutes the syntax. It's also foreign for most PostgreSQL users. That said, it's easy to demonstrate that it works..

test=# CREATE TABLE dual AS ( VALUES (true) );
test=# SELECT now() FROM dual ;
 2017-10-05 15:34:34.359092-05
(1 row)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.