Показать таблицы в PostgreSQL - PullRequest
1543 голосов
/ 20 апреля 2009

Что эквивалентно show tables (из MySQL) в PostgreSQL?

Ответы [ 21 ]

15 голосов
/ 05 июня 2017

Если вы используете pgAdmin4 в PostgreSQL, вы можете использовать это для отображения таблиц в вашей базе данных:

select * from information_schema.tables where table_schema='public';
14 голосов
/ 23 декабря 2017

Обратите внимание, что только в \dt будут перечислены таблицы в схеме public используемой вами базы данных. Мне нравится хранить свои таблицы в отдельных схемах, поэтому принятый ответ не работает для меня.

Чтобы перечислить все таблицы в определенной схеме , мне нужно было:

1) Подключиться к нужной базе данных:

psql mydb

2) Укажите имя схемы, для которой я хочу видеть таблицы после команды \dt, например:

\dt myschema.*

Это показывает мне интересующие меня результаты:

               List of relations
 Schema   |       Name      | Type  |  Owner   
----------+-----------------+-------+----------
 myschema | users           | table | postgres
 myschema | activity        | table | postgres
 myschema | roles           | table | postgres
9 голосов
/ 25 июня 2017
select 
  * 
from 
  pg_catalog.pg_tables 
where 
  schemaname != 'information_schema' 
  and schemaname != 'pg_catalog';
8 голосов
/ 07 марта 2015

\ dt (не * требуется) - перечислит все таблицы для существующей базы данных, к которой вы уже подключены. Также полезно отметить:

\ d [table_name] - покажет все столбцы для данной таблицы, включая информацию о типе, ссылки и ключевые ограничения.

6 голосов
/ 07 мая 2014

Вы можете перечислить таблицы в текущей базе данных с помощью \dt.

Fwiw, \d tablename покажет подробности о данной таблице, что-то вроде show columns from tablename в MySQL, но с немного большей информацией.

5 голосов
/ 10 апреля 2018

Использование psql : \ dt

Или:

SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c
        LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
        AND c.relkind = 'r'
        AND relname NOT LIKE 'pg_%'
ORDER BY 1
3 голосов
/ 19 июля 2017

Прежде всего, вам нужно подключиться к вашей базе данных, как

моя база данных Ubuntu

используйте эту команду для подключения

 \c ubuntu

Это сообщение покажет

"Теперь вы подключены к базе данных" ubuntu "как пользователь" postgres "."

Теперь

Запустите эту команду, чтобы показать все таблицы в ней

\d+
1 голос
/ 17 декабря 2015

\ dt выведет список таблиц, и "\ pset pager off" отобразит их в том же окне, не переключаясь на отдельное. Люблю эту особенность до смерти в dbshell.

0 голосов
/ 15 февраля 2019

как быстрый пользователь

# just list all the postgres tables sorted in the terminal
db='my_db_name'
clear;psql -d $db -t -c '\dt'|cut -c 11-|perl -ne 's/^([a-z_0-9]*)( )(.*)/$1/; print'
0 голосов
/ 12 февраля 2019

Чтобы просмотреть сторонние таблицы в psql, запустите \dE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...