PostgreSQL: шпаргалка (use database, show tables, show users)

///
3 mins read

Небольшая шпаргалка для начинающих пользователей PostgreSQL, переключится в контекст базы (use database в mysql), список таблиц БД (show tables в mysql) и просмотр пользователей имеющих доступ к базе данных.

Работа с локальным PostgreSQL

Для работы с локальным сервером БД необходимо переключится в контекст пользователя postgres и запустить оснастку psql

[root@s ~]# su postgres
bash-4.4$ psql
could not change directory to "/root": Permission denied
psql (10.6)
Type "help" for help.

postgres=#

Список баз данных на сервере (аналог ‘show databases’) —  \l

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 quaded    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#

Подключится к базе (аналог ‘use database’) — \c

postgres=# \c quaded
You are now connected to database "quaded" as user "postgres".
quaded=#

Список таблиц в БД (аналог show tables) — \dt

quaded=# \dt
             List of relations
 Schema |       Name        | Type  | Owner
--------+-------------------+-------+-------
 public | alembic_version   | table | quaded
 public | flask_dance_oauth | table | quaded
 public | prices            | table | quaded
 public | product           | table | quaded
 public | user              | table | quaded
(5 rows)

quaded=#

Более подробный список таблиц (с размером таблицы на диске) — \dt+

quaded=# \dt+
                           List of relations
 Schema |       Name        | Type  | Owner |    Size    | Description
--------+-------------------+-------+-------+------------+-------------
 public | alembic_version   | table | quaded | 8192 bytes |
 public | flask_dance_oauth | table | quaded | 16 kB      |
 public | prices            | table | quaded | 8192 bytes |
 public | product           | table | quaded | 16 kB      |
 public | user              | table | quaded | 8192 bytes |
(5 rows)

Посмотреть список записей в таблице можно обычным SQL запросом из контекста БД

select * from products;

Как узнать размер базы данных PostgreSQL?

Войти в интерактивный терминал:

$ sudo -u postgres psql

Выполнить запрос:

# select pg_database_size('base');

В человеческом виде размер базы покажет обёртка pg_size_pretty

SELECT pg_size_pretty( pg_database_size( 'sample_db' ) );

 pg_size_pretty 
----------------
36 GB

Таким же макаром можно посмотреть и размер таблицы (с индексами)

SELECT pg_size_pretty( pg_total_relation_size( 'table' ) );

 pg_size_pretty 
----------------
 6341 MB

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

# SELECT pg_size_pretty( pg_relation_size( 'table' ) );

 pg_size_pretty 
----------------
 1341 MB

Размер всех БД построчно:

select datname, pg_size_pretty(pg_database_size(datname))
from pg_database

Общий размер всех БД одним значением:

select pg_size_pretty(sum(pg_database_size(datname)))
from pg_database
Previous Story

Установка и настройка 1С на Debian с PostgreSQL

Next Story

Cтатический IP-адрес в Ubuntu Server 20.04

Latest from Blog

dd

dd (dataset definition) — программа UNIX, предназначенная как для копирования, так и для конвертации файлов. Название унаследовано от оператора DD

UBUNTU not graphical

Найдите эту строку: Измените это на: Обновление GRUB: Для систем, которые используют systemd Это дополнительный шаг

0 £0.00