15_sovetov
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 15_sovetov [2021/08/24 09:31] – chifek | 15_sovetov [2023/09/14 06:06] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 285: | Line 285: | ||
| SELECT count(distinct col_name) FROM table; | SELECT count(distinct col_name) FROM table; | ||
| </ | </ | ||
| + | |||
| + | ==== Использование транзакций ==== | ||
| + | |||
| + | Транзакция объединяет последовательность действий в одну операцию. Её особенность в том, что при ошибке в выполнении транзакции ни один из результатов действий не сохранится в базе данных. | ||
| + | |||
| + | Начнём транзакцию с помощью команды BEGIN. | ||
| + | |||
| + | Для того, чтобы откатить все операции, | ||
| + | |||
| + | А чтобы применить — команду COMMIT. | ||
| + | |||
| + | ==== Просмотр и завершение исполняемых запросов ==== | ||
| + | |||
| + | Для того, чтобы получить информацию о запросах, | ||
| + | |||
| + | < | ||
| + | SELECT pid, age(query_start, | ||
| + | FROM pg_stat_activity | ||
| + | WHERE query != '< | ||
| + | ORDER BY query_start desc; | ||
| + | </ | ||
| + | |||
| + | Для того, чтобы остановить конкретный запрос, | ||
| + | |||
| + | < | ||
| + | SELECT pg_cancel_backend(procpid); | ||
| + | </ | ||
| + | |||
| + | Для того, чтобы прекратить работу запроса, | ||
| + | |||
| + | < | ||
| + | SELECT pg_terminate_backend(procpid); | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Работа с конфигурацией ===== | ||
| + | |||
| + | ==== Поиск и изменение расположения экземпляра кластера ==== | ||
| + | |||
| + | Возможна ситуация, | ||
| + | |||
| + | < | ||
| + | SHOW data_directory; | ||
| + | </ | ||
| + | |||
| + | Изменим расположение на другое с помощью команды: | ||
| + | |||
| + | < | ||
| + | SET data_directory to new_directory_path; | ||
| + | </ | ||
| + | |||
| + | Но для того, чтобы изменения вступили в силу, требуется перезагрузка. | ||
| + | |||
| + | ==== Получение перечня доступных типов данных ==== | ||
| + | |||
| + | Получим перечень доступных типов данных с помощью команды: | ||
| + | |||
| + | < | ||
| + | SELECT typname, typlen from pg_type where typtype=' | ||
| + | </ | ||
| + | |||
| + | typname — имя типа данных. | ||
| + | typlen — размер типа данных. | ||
| + | |||
| + | |||
| + | ==== Изменение настроек СУБД без перезагрузки ==== | ||
| + | |||
| + | Настройки PostgreSQL находятся в специальных файлах вроде postgresql.conf и pg_hba.conf. После изменения этих файлов нужно, чтобы СУБД снова получила настройки. Для этого производится перезагрузка сервера баз данных. Понятно, | ||
| + | |||
| + | < | ||
| + | SELECT pg_reload_conf(); | ||
| + | </ | ||
| + | |||
| + | Но, к сожалению, | ||
| + | |||
| + | Мы рассмотрели команды, | ||
| + | |||
| + | ===== Ссылки ===== | ||
| + | |||
| + | Источник [[https:// | ||
15_sovetov.1629797518.txt.gz · Last modified: 2023/09/14 06:06 (external edit)