0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: postgresql, базы данных, таблицы, postgres, постгресс, полезные команды</p>
1
<p>Теги: postgresql, базы данных, таблицы, postgres, постгресс, полезные команды</p>
2
<p>Продолжаем нашу серию заметок о полезных командах в PostgreSQL. В этот раз поговорим о подсчёте числа строк в таблице, использовании транзакций, просмотре и завершении исполняемых запросов.</p>
2
<p>Продолжаем нашу серию заметок о полезных командах в PostgreSQL. В этот раз поговорим о подсчёте числа строк в таблице, использовании транзакций, просмотре и завершении исполняемых запросов.</p>
3
<h2>Подсчёт числа строк в таблице</h2>
3
<h2>Подсчёт числа строк в таблице</h2>
4
<p>Число строк в PostgreSQL вычисляется стандартной функцией count, причём использовать её можно с дополнительными условиями.</p>
4
<p>Число строк в PostgreSQL вычисляется стандартной функцией count, причём использовать её можно с дополнительными условиями.</p>
5
<p>Вот как подсчитывается общее число строк в таблице:</p>
5
<p>Вот как подсчитывается общее число строк в таблице:</p>
6
SELECT count(*) FROM table;<p>А вот как можно подсчитать число строк, если указанное нами поле не содержит NULL:</p>
6
SELECT count(*) FROM table;<p>А вот как можно подсчитать число строк, если указанное нами поле не содержит NULL:</p>
7
SELECT count(col_name) FROM table;<p>Теперь подсчитаем число уникальных строк по указанному полю:</p>
7
SELECT count(col_name) FROM table;<p>Теперь подсчитаем число уникальных строк по указанному полю:</p>
8
SELECT count(distinct col_name) FROM table;<h2>Применение транзакций</h2>
8
SELECT count(distinct col_name) FROM table;<h2>Применение транзакций</h2>
9
<p>Транзакция объединяет в одну операцию некую последовательность действий. Особенность транзакции заключается в том, что в случае возникновения ошибки при выполнении транзакции, в базе данных не сохранится ни один из результатов действий.</p>
9
<p>Транзакция объединяет в одну операцию некую последовательность действий. Особенность транзакции заключается в том, что в случае возникновения ошибки при выполнении транзакции, в базе данных не сохранится ни один из результатов действий.</p>
10
<p>Начать транзакцию можно посредством команды BEGIN.</p>
10
<p>Начать транзакцию можно посредством команды BEGIN.</p>
11
<p>Если надо откатить операции, которые расположены после BEGIN, подойдёт команда ROLLBACK, если применить - команда COMMIT.</p>
11
<p>Если надо откатить операции, которые расположены после BEGIN, подойдёт команда ROLLBACK, если применить - команда COMMIT.</p>
12
<h2>Просмотр и завершение исполняемых запросов</h2>
12
<h2>Просмотр и завершение исполняемых запросов</h2>
13
<p>Если надо получить информацию о запросах, пригодится следующая команда:</p>
13
<p>Если надо получить информацию о запросах, пригодится следующая команда:</p>
14
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;<p>Если надо остановить определённый запрос, используйте следующую команду, применение которой предполагает указание id процесса (pid):</p>
14
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;<p>Если надо остановить определённый запрос, используйте следующую команду, применение которой предполагает указание id процесса (pid):</p>
15
SELECT pg_cancel_backend(procpid);<p>Если надо остановить работу запроса, выполняем следующую команду:</p>
15
SELECT pg_cancel_backend(procpid);<p>Если надо остановить работу запроса, выполняем следующую команду:</p>
16
SELECT pg_terminate_backend(procpid);<p>Вот и всё, возможно, вам также будут интересны следующие статьи: - "<a>Работа с конфигурацией в PostgreSQL</a>"; - "<a>Безопасное изменение типа поля в PostgreSQL</a>"; - "<a>Полезные команды в PostgreSQL</a>"; - "<a>Поиск "потерянных" значений в PostgreSQL</a>".</p>
16
SELECT pg_terminate_backend(procpid);<p>Вот и всё, возможно, вам также будут интересны следующие статьи: - "<a>Работа с конфигурацией в PostgreSQL</a>"; - "<a>Безопасное изменение типа поля в PostgreSQL</a>"; - "<a>Полезные команды в PostgreSQL</a>"; - "<a>Поиск "потерянных" значений в PostgreSQL</a>".</p>
17
<p><em>По материалам "<a>15 Advanced PostgreSQL Commands with Examples</a>" и "<a>10 Most Useful PostgreSQL Commands with Examples</a>".</em></p>
17
<p><em>По материалам "<a>15 Advanced PostgreSQL Commands with Examples</a>" и "<a>10 Most Useful PostgreSQL Commands with Examples</a>".</em></p>
18
18