Для postgres НЕТ ДЕЙСТВИЯ по умолчанию, которое для большинства целей совпадает с ОГРАНИЧЕНИЕМ, как указано здесь .
Я бы порекомендовал быть явным, особенно в DDL, всякий раз, когда есть сомнения (а затем и некоторые).
Для этого есть разные причины:
- Некоторое поведение для операторов определения данных может зависеть от настроек и версий сервера, поэтому для резервного копирования и восстановления может быть полезно явное
- Если вы попытаетесь переместить ваши данные из одного механизма СУБД в другое явное состояние, это поможет вам уловить недопонимание между двумя диалектами (если они не будут молча пропускать пропущенную часть)
- Если вы даже думаете о двусмысленности сейчас, попробуйте представить себе следующего парня, который будет обслуживать базу данных или вас самих через несколько лет - если вы будете откровенны и комментируете свои сценарии создания, это окупится за один день