HTML Diff
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 != '&lt;IDLE&gt;' 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 != '&lt;IDLE&gt;' 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