Postgres по умолчанию - регистро-нечувствительный. И Oracle тоже.
Тоесть можно сделать так.
dh=> create table tab(id int);
CREATE TABLE
dh=> select * from tab;
id
----
(0 rows)
dh=> select * from TAB;
id
----
(0 rows)
Работать легко. Case-Insensitive. Как в языке Паскаль. И высоту регистра делать чисто для красоты. Например выделять ключевые слова SQL или сами идентификаторы.
Но если по бизнес-задаче окажется что есть идентификатор для которого регистр ИМЕЕТ значение то мы его отковычиваем. Выглядит как при программировании на C++/Java. Вот в данном случае индекс FTS у нас записан аж тремя способами и все это разные колонки.
dh=> create table "Market"("SnP" text, "FTS" text, "Fts" text, "fts" text);
CREATE TABLE
dh=> select * from "Market";
SnP | FTS | Fts | fts
-----+-----+-----+-----
(0 rows)
Но работать в консоли становится неудобно. Больше надо клавиш нажимать.
Поэтому решать вам.