Как посмотреть все таблицы в postgresql
Перейти к содержимому

Как посмотреть все таблицы в postgresql

PostgreSQL. 10 продвинутых команд для DBA с примерами

Топ 10 самих популярных команд для управления сервером PostgreSQL для настоящих администраторов баз данных (DBA).
Большинство команд подходят как для консольной утилиты psql , так и для запуска через ваш клиент.

1. Как найти самую большую таблицу в базе данных PostgreSQL?

Результатом будет самая большая таблица (в примере testtable1 ) в страницах. Размер одной страницы равен 8KB (т.е. размер таблицы в примере — 2,3GB)

2. Как узнать размер всей базы данных PostgreSQL?

Результатом будет размер базы данных в байтах:

Если вы хотите получить размер в более читаемом («человеческом») формате — «оберните» результат в функцию pg_size_pretty() :

Ну и сразу логичным будет показать все базы данных в читаемом («человеческом») виде, отсортированные от более больших к меньшим

3. Как узнать размер таблицы в базе данных PostgreSQL?

Результатом будет размер таблицы testtable1, включая индексы. Результат будет отображен сразу в удобном для чтения формате, а не в байтах.

Если вам нужно узнать размер таблицы без индексов, тогда следует выполнить такой запрос:

4. Как узнать текущую версию сервера PostgreSQL?

Результат будет подобным этому:

5. Как выполнить SQL-файл в PostgreSQL?

Для данной цели существует специальная команда в консольной утилите:

Где /path/to/file.sql — это путь к вашему SQL-файлу. Обратите внимание, что он должен лежать в доступной для чтения пользователя postgres директории.

6. Как отобразить список всех баз данных сервера PostgreSQL?

Для данной цели существует специальная команда в консольной утилите:

7. Как отобразить список всех таблиц в базе данных PostgreSQL?

Для данной цели существует специальная команда в консольной утилите что покажет список таблиц в текущей БД.

8. Как показать структуру, индексы и прочие элементы выбранной таблицы в PostgreSQL?

Для данной цели существует специальная команда в консольной утилите:

Где testtable1 — имя таблицы

9. Как отобразить время выполнения запроса в консольной утилите PostgreSQL?

После чего все запросы станут отображаться в консольной утилите со временем выполнения.
Отключаются эти уведомления точно так же, как и включаются — вызовом:

10. Как отобразить все команды консольной утилиты PostgreSQL?

Это наверное самый важный пункт, т.к. любой DBA должен знать как вызвать эту справку ��

Показать таблицы в PostgreSQL

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

18 ответов

С psql интерфейс командной строки, это показывает все таблицы в текущей схеме:

программно (или с psql интерфейс, конечно, тоже):

системные таблицы в базе данных pg_catalog.

войдите в систему как суперпользователь:

вы можете перечислить все базы данных и пользователей по \l command, (список других команд по \? ).

теперь, если вы хотите увидеть другие базы данных вы можете изменить пользователя/базы данных как \c template1 , \c postgres postgres и использовать \d , \dt или \dS чтобы увидеть таблицы / представления / etc.

(для полноты картины)

вы также можете запросить (SQL-standard) информация-схемы:

первый вход в систему как пользователь postgres:

sudo su — postgres

подключение к требуемой БД: psql -d databaseName

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

запуск psql с флагом-E будет повторять запрос, используемый внутри для реализации \ДТ и подобные:

если вы хотите увидеть только список таблиц, которые вы создали, вы можете только сказать:

но у нас есть PATTERN что поможет вам настроить, какие таблицы показывать. Чтобы показать все, включая pg_catalog схемы, вы можете добавить * .

вы можете использовать интерактивный терминал psql PostgreSQL для отображения таблиц в PostgreSQL.

1. Запустить Psql

обычно вы можете запустить следующую команду для входа в psql:

например, psql template1 postgres

одна из возможных ситуаций: предположим, вы входите в систему как root, и вы не помните имя базы данных. Вы можете просто ввести сначала в Psql, запустив:

в некоторых системах, sudo команда недоступна, вместо этого вы можете запустить любую команду ниже:

2. Показать таблицы

теперь в Psql вы можете запускать такие команды, как:

  1. \? список всех команд
  2. \l базы данных
  3. \conninfo отображение информации о текущем соединении
  4. \c [DBNAME] подключиться к новой базе данных, например, \c template1
  5. \dt список таблицы
  6. \q выход из psql

сначала подключитесь к базе данных, используя следующую команду

и вы увидите это сообщение, Теперь вы подключены к database database_name и выполните следующую команду

в database_name и table_name просто обновите свою базу данных и имя таблицы

используйте только таблицы

Если хотите увидеть таблицы схемы

Если вы хотите увидеть конкретные таблицы-схемы

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

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

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

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

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

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

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

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

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

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

List all tables in postgresql information_schema

What is the best way to list all of the tables within PostgreSQL’s information_schema?

To clarify: I am working with an empty DB (I have not added any of my own tables), but I want to see every table in the information_schema structure.

user avatar

8 Answers 8

You should be able to just run select * from information_schema.tables to get a listing of every table being managed by Postgres for a particular database.

You can also add a where table_schema = ‘information_schema’ to see just the tables in the information schema.

For listing your tables use:

It will only list tables that you create.

from within psql, should be fine.

The «\z» COMMAND is also a good way to list tables when inside the interactive psql session.

1.get all tables and views from information_schema.tables, include those of information_schema and pg_catalog.

2.get tables and views belong certain schema

3.get tables only(almost \dt)

You may use also

In generall pg* tables allow you to see everything in the db, not constrained to your permissions (if you have access to the tables of course).

For private schema ‘xxx’ in postgresql :

Without table_type = ‘BASE TABLE’ , you will list tables and views

user avatar

If you want a quick and dirty one-liner query:

select * from information_schema.tables

You can run it directly in the Query tool without having to open psql.

(Other posts suggest nice more specific information_schema queries but as a newby, I am finding this one-liner query helps me get to grips with the table)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *