Работаем с данными и полями таблиц в PostgreSQL
Продолжаем нашу серию заметок о полезных командах в PostgreSQL. В этот раз поговорим о подсчёте числа строк в таблице, использовании транзакций, просмотре и завершении исполняемых запросов.
Подсчёт числа строк в таблице
Число строк в PostgreSQL вычисляется стандартной функцией count, причём использовать её можно с дополнительными условиями.
Вот как подсчитывается общее число строк в таблице:
SELECT count(*) FROM table;
А вот как можно подсчитать число строк, если указанное нами поле не содержит NULL:
SELECT count(col_name) FROM table;
Теперь подсчитаем число уникальных строк по указанному полю:
SELECT count(distinct col_name) FROM table;
Применение транзакций
Транзакция объединяет в одну операцию некую последовательность действий. Особенность транзакции заключается в том, что в случае возникновения ошибки при выполнении транзакции, в базе данных не сохранится ни один из результатов действий.
Начать транзакцию можно посредством команды BEGIN.
Если надо откатить операции, которые расположены после BEGIN, подойдёт команда ROLLBACK, если применить — команда COMMIT.
Просмотр и завершение исполняемых запросов
Если надо получить информацию о запросах, пригодится следующая команда:
SELECT pid, age(query_start, clock_timestamp()), usename, query FROM pg_stat_activity WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' ORDER BY query_start desc;
Если надо остановить определённый запрос, используйте следующую команду, применение которой предполагает указание id процесса (pid):
SELECT pg_cancel_backend(procpid);
Если надо остановить работу запроса, выполняем следующую команду:
SELECT pg_terminate_backend(procpid);
Вот и всё, возможно, вам также будут интересны следующие статьи: — «Работа с конфигурацией в PostgreSQL»; — «Безопасное изменение типа поля в PostgreSQL»; — «Полезные команды в PostgreSQL»; — «Поиск «потерянных» значений в PostgreSQL».
По материалам «15 Advanced PostgreSQL Commands with Examples» и «10 Most Useful PostgreSQL Commands with Examples».