Как стать автором
Обновить

Комментарии 8

А в какой версии postgres планируется замена \d на show tables? Я бы сказал, что это один из двух гигантских wtf'ов у постгри (второй — hba.conf с именами пользователей).
1. Не уверен, что это вообще планируется. Да и не очень понятно, почему это так критично? В качестве какого-то решения могу предложить:

demo=# \set show_tables '\\dt'
demo=# :show_tables air*
             List of relations
  Schema  |      Name      | Type  | Owner 
----------+----------------+-------+-------
 bookings | aircrafts_data | table | pal
 bookings | airports_data  | table | pal
(2 rows)


2. Про hba.conf. Там есть возможность указать в файле групповую роль, тогда любой пользователь входящий в неё будет аутентифицироваться по этой строчке в hba. Таким образом в hba можно определить несколько видов аутентификации с групповыми ролями. Затем, при добавлении пользователя, редактировать hba не надо, надо только включить пользователя в нужную групповую роль.
Это если я правильно понял проблему.

Среди всех современных БД, которые я видел, только \p \o \s \t \g \re \s \i \s \a \bi \g \wt \f

Ваше право так считать. Но поскольку без аргументов, то и добавить больше нечего. Удачи!
Да и не очень понятно, почему это так критично?

Потому что SHOW TABLES будет работать из любого клиента, а не только psql, и это гораздо удобней чем:


SELECT *
FROM pg_catalog.pg_tables
WHERE schemaname != 'pg_catalog' AND 
    schemaname != 'information_schema';
Видимо речь идет о команде SHOW TABLES в MySQL.

Должен ли PostgreSQL поддерживать команды из других СУБД? Разработчики постгреса так не считают. Для совместимости с другими СУБД есть стандарт SQL. И вот этот стнадарт в постгресе стараются поддерживать очень хорошо. А в стандарте SQL для доступа к объектам системного каталога предусмаотрена информационная схема. Она поддерживается, можно писать запросы к представлению с именем tables.

То, что длинный текст запроса можно «обернуть» в представление или функцию с коротким именем Вы наверное и так знаете.

Кстати замечу, что приведенный Вами запрос к pg_tables не полностью соответствует тому, что выдает show tables. Например будут показаны таблицы, к которым у пользователя нет доступа.

Уж слишком часто выходит мажорная версия. Каждый год. Раз в 3 года было бы нормально.

Знаю многих, кто считает это плюсом )). К тому же это ведь не значит, что нужно каждый год обновляться.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий