1. autoincrement
2. unsigned
Базовый уровень — добавить поле нужного типа или поменять тип поля руками через
\DB::statement()
.
Следующий уровень — расширить schema builder и PostgresGrammar.
Уровень надмозга — расширить и сделать пулл-реквест в репу Illuminate.
Более того, в PG 10 появился более правильный способ автоинкремента и Laravel 5.7 его уже
поддерживает.
3. массивы
Не поверите, они отличаются тем, что одно — массив, а другое — json. И хоть они и похожи иногда, но это разные типы данных. Документация есть на русском, изучайте.
В ларе вообще нет ничего про отличия от Postgresql
В этом и смысл. Выбор базы данных не относится к ларавел, в идеале вам должно быть не важно, что там за БД. Поэтому искаропки ларавел поддерживает более-менее общий набор типов данных, подменяя их другими, как в случае json и старых версий mysql.
Всё, чего нет и то нужно конкретно вам, вы и должны реализовать. И сделать PR, надеясь, что Тэйлор его не отклонит :) Ну или если наберётся критическая масса тех, кому это надо.