以前書いたコードを見てたとき

SELECT FROM table;

と言う感じで SELECT のあとに列名が抜けてるのがあった
「*」 が抜けてて動いてなさそう……と思ったけど実行されてるはずのコード
psql で試しに実行してみたらエラーにならず成功した

列名は省略可能みたい
昔からそうだっけと思って調べたら 9.4 からの変更だった

https://www.postgresql.jp/document/9.3/html/sql-select.html
https://www.postgresql.jp/document/9.4/html/sql-select.html

リリースノートには この変更で 0 個の列のビューのダンプ・リストアが正常に出来るようになるって書いてるから このために許可したみたい
https://www.postgresql.jp/document/9.4/html/release-9-4.html

列なしの SELECT なんてしないと思ったけど実際に使われていたわけで EXISTS の中で使う SELECT 文には 「*」 書かなくていいからありなのかも

ちなみに SQL 標準ではないみたいで mysql だと構文エラーでした