Перейти к содержимому

Как остановить postgresql windows

  • автор:

Как отключить автозапуск сервера postgresql

Возможно для кого то этот вопрос будет достаточно простой, однако для меня непонятно где и как можно отключить авто-запуск сервера. Если с командами pg_ctl я разобрался и хочу исключительно с их помощью запускать и останавливать сервер, а авто-запуск, который настраивается при установке СУБД postgresql 10 , отключить. Как мне лучше это сделать? (Сервер на Windows и нужен исключительно для локального использования) Гугл не помог.

Отслеживать
1,002 1 1 золотой знак 8 8 серебряных знаков 24 24 бронзовых знака
задан 5 мая 2020 в 13:22
Vladislav Stashevsky Vladislav Stashevsky
43 1 1 серебряный знак 6 6 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Зайти в Службы через поиск Windows или через Win+R и вызывать services.msc .

И там найти postgresql-x64-12 . Правой кнопкой мыши, и там выбирайте Остановить или Запустить .

введите сюда описание изображения

Если необходимо выключить в автозапуске. То изменяйте вариан запуска здесь:

введите сюда описание изображения

Отслеживать
ответ дан 5 мая 2020 в 13:33
1,002 1 1 золотой знак 8 8 серебряных знаков 24 24 бронзовых знака

  • база-данных
  • windows
  • postgresql
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как остановить postgresql windows

Сервер баз данных можно отключить несколькими способами. Вы выбираете тот или иной вариант отключения, посылая разные сигналы главному процессу postgres .

Запускает так называемое умное выключение. Получив SIGTERM , сервер перестаёт принимать новые подключения, но позволяет всем существующим сеансам закончить работу в штатном режиме. Сервер будет отключён только после завершения всех сеансов. Если сервер находится в режиме архивации, сервер дополнительно ожидает выхода из этого режима. При этом в данном случае сервер позволяет устанавливать новые подключения, но только для суперпользователей (это исключение позволяет суперпользователю подключиться и прервать архивацию). Если получая этот сигнал, сервер находится в процессе восстановления, восстановление и потоковая репликация будут прерваны только после завершения всех обычных сеансов. SIGINT

Запускает быстрое выключение. Сервер запрещает новые подключения и посылает всем работающим серверным процессам сигнал SIGTERM , в результате чего их транзакции прерываются и сами процессы завершаются. Управляющий процесс ждёт, пока будут завершены все эти процессы и затем завершается сам. Если сервер находится в режиме архивации, архивация прерывается, так что архив оказывается неполным. SIGQUIT

Запускает немедленное выключение. Сервер отправляет всем дочерним процессам сигнал SIGQUIT и ждёт их завершения. Если какие-либо из них не завершаются в течение 5 секунд, им посылается SIGKILL . Главный процесс сервера завершается, как только будут завершены все дочерние процессы, не выполняя обычную процедуру остановки БД. В результате при последующем запуске будет запущен процесс восстановления (воспроизведения изменений из журнала). Такой вариант выключения рекомендуется только в экстренных ситуациях.

Удобную возможность отправлять эти сигналы, отключающие сервер, предоставляет программа pg_ctl . Кроме того, в системах, отличных от Windows, соответствующий сигнал можно отправить с помощью команды kill . PID основного процесса postgres можно узнать, воспользовавшись программой ps , либо прочитав файл postmaster.pid в каталоге данных. Например, можно выполнить быстрое выключение так:

$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid` 

Важно

Для выключения сервера не следует использовать сигнал SIGKILL . При таком выключении сервер не сможет освободить разделяемую память и семафоры, и, возможно, это придётся делать вручную, чтобы сервер мог запуститься снова. Кроме того, при уничтожении главного процесса postgres сигналом SIGKILL , он не успеет передать этот сигнал своим дочерним процессам, так что может потребоваться завершать и их вручную.

Чтобы завершить отдельный сеанс, не прерывая работу других сеансов, воспользуйтесь функцией pg_terminate_backend() (см. Таблицу 9.77) или отправьте сигнал SIGTERM дочернему процессу, обслуживающему этот сеанс.

Пред. Наверх След.
18.4. Управление ресурсами ядра Начало 18.6. Обновление кластера PostgreSQL

Как остановить postgresql windows

pg_ctl — инициализировать, запустить, остановить или управлять сервером PostgreSQL

Синтаксис

pg_ctl init[db] [ -s ] [ -D каталог_данных ] [ -o параметры-initdb ]

pg_ctl start [ -w ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -l имя_файла ] [ -o параметры ] [ -p путь ] [ -c ]

pg_ctl stop [ -W ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -m s[mart] | f[ast] | i[mmediate] ]

pg_ctl restart [ -w ] [ -t секунды ] [ -s ] [ -D каталог_данных ] [ -c ] [ -m s[mart] | f[ast] | i[mmediate] ] [ -o параметры ]

pg_ctl reload [ -s ] [ -D каталог_данных ]

pg_ctl status [ -D каталог_данных ]

pg_ctl promote [ -s ] [ -D каталог_данных ]

pg_ctl kill имя_сигнала ид_процесса

pg_ctl register [ -N имя_службы ] [ -U имя_пользователя ] [ -P пароль ] [ -D каталог_данных ] [ -S a[uto] | d[emand] ] [ -w ] [ -t секунды ] [ -s ] [ -o параметры ]

pg_ctl unregister [ -N имя_службы ]

Описание

pg_ctl — это утилита для начальной инициализации, запуска, остановки, повторного запуска и управления кластером баз данных PostgreSQL ( postgres ). Сервер можно стартовать в ручном режиме, но pg_ctl реализует задачи направления вывода в журнал и отсоединения от терминала и группы процессов, а также предоставляет удобный интерфейс остановки кластера.

Для инициализации нового кластера PostgreSQL используются режимы init или initdb . Кластер — это коллекция баз данных под управлением единого сервера. По факту вызывается команда initdb . За подробностями обратитесь к initdb .

Сервер запускается в режиме start . Процесс работает в фоновом режиме, а стандартный ввод связывается с /dev/null (или nul под управлением Windows). По умолчанию в Unix-подобных системах вывод и ошибки сервера пишутся в устройство стандартного вывода (не ошибок) pg_ctl . Вывод pg_ctl следует перенаправить в файл или процесс, например, приложение ротации журналов rotatelogs ; в ином случае postgres будет писать вывод в управляющий терминал (в фоновом режиме) и останется в группе процессов оболочки. В Windows сообщения и ошибки сервера по умолчанию перенаправляются в терминал. Это поведение можно изменить и направить вывод сервера в файл, добавив ключ -l . Мы рекомендуем использовать ключ -l или перенаправлять вывод.

В режиме stop сервер, работающий в указанном каталоге данных, останавливается. Параметр -m позволяет выбрать три различных режима остановки. Режим « Smart » запрещает новые подключения, а затем ожидает отключения всех существующих клиентов и завершения всех текущих процессов резервного копирования. Если сервер работает в режиме горячего резерва, восстановление и потоковая репликация будут прерваны, как только отключатся все клиенты. Режим « Fast » (выбираемый по умолчанию) не ожидает отключения клиентов и завершает все текущие процессы резервного копирования. Все активные транзакции откатываются, а клиенты принудительно отключаются, после чего сервер останавливается. Режим « Immediate » незамедлительно прерывает все серверные процессы, не выполняя процедуру штатной остановки. В результате при следующем запуске будет запущено восстановление после сбоя.

В режиме restart по сути выполняется остановка и последующий запуск сервера. Это позволяет изменить параметры командной строки postgres . Режим restart может не отработать, если при запуске сервера в командной строке задавались относительные пути.

Чтобы перечитать конфигурацию ( postgresql.conf , pg_hba.conf и т. д.), используется reload , при этом процесс postgres получает системный сигнал SIGHUP . Это позволяет применить изменения без полного рестарта сервера.

Чтобы проверить статус кластера, используется status . Если кластер запущен, то будет выведен PID процесса, а также команда с использованными при запуске аргументами. Если кластер остановлен, то процесс вернёт статус завершения 3. Если не указан каталог хранения данных, то процесс вернёт статус завершения 4.

Чтобы перевести резервный сервер в режим главного, используется promote . При этом сервер прекращает работу в режиме восстановления и начинает работать в режиме чтения-записи.

Чтобы послать сигнал процессу, используется kill . Это особенно применимо в среде Microsoft Windows , которая не имеет в оснастке команды kill . Чтобы посмотреть список доступных сигналов, обратитесь к справке —help .

Режим register предназначен для регистрации системной службы в Microsoft Windows . Параметр -S позволяет выбрать тип запуска службы, « auto » (запускать службу автоматически при загрузке системы) или « demand » (запускать службу по требованию).

Чтобы удалить зарегистрированную службу в Microsoft Windows , используется unregister . Эта операция отменяет действие команды register .

Параметры

-c
—core-file

Способствует сбросу дампа памяти процесса при крахе сервера на платформах, где это возможно, поднимая мягкие ограничения, задаваемые для файлов дампа. Это полезно при отладке и диагностике проблем, так как позволяет получить трассировку стека отказавшего процесса сервера. -D каталог_данных
—pgdata каталог_данных

Указывает размещение конфигурационных файлов кластера. Если не указано, используется значение переменной окружения PGDATA . -l имя_файла
—log имя_файла

Направляет вывод сообщений сервера в файл имя_файла . Файл создаётся, если он ещё не существует. При этом устанавливается umask 077, что предотвращает доступ других пользователей к этому файлу. -m режим
—mode режим

Задаёт режим остановки кластера. Значением режим может быть smart , fast или immediate , либо первая буква этих вариантов. По умолчанию выбирается режим fast . -o параметры

Указывает флаги, которые будут переданы непосредственно программе postgres ; несколько параметров складываются вместе.

Эти параметры обычно следует обрамлять одинарными или двойными кавычками, чтобы они передавались вместе как одна группа. -o параметры-initdb

Указывает флаги, которые будут переданы в initdb .

Эти параметры обычно следует обрамлять одинарными или двойными кавычками, чтобы они передавались вместе как одна группа. -p путь

Указывает размещение исполняемого файла postgres . По умолчанию задействуется исполняемый файл postgres из того же каталога, из которого запускался pg_ctl , а если это невозможно, из жёстко заданного каталога инсталляции. Применять этот параметр может понадобиться, только если вы делаете что-то необычное или получаете сообщения, что найти исполняемый файл postgres не удаётся.

В режиме init этот параметр аналогичным образом задаёт размещение исполняемого файла initdb . -s
—silent

Выводить лишь ошибки, без сообщений информационного характера. -t
—timeout

Максимальное время (в секундах) ожидания запуска или остановки сервера. По умолчанию принимается значение переменной среды PGCTLTIMEOUT или, если оно не задано, 60 секунд. -V
—version

Выводит версию pg_ctl и прерывает выполнение. -w

Ждать завершения запуска или остановки. Это вариант по умолчанию при остановке, но не при запуске. Ожидая запуска, pg_ctl постоянно пытается подключиться к серверу. Ожидая остановки, pg_ctl ждёт, пока сервер не удалит свой файл PID . Этот параметр позволяет ввести парольную фразу SSL при запуске. pg_ctl возвращает код завершения, сообщающий об успехе запуска или остановки. -W

Не ждать завершения запуска или остановки. Это вариант по умолчанию для режимов запуска и перезапуска. -?
—help

Вывести справку по команде pg_ctl и прервать выполнение.

Параметры, специфичные для Windows

Имя источника событий, с которым pg_ctl будет записывать в системный журнал события при запуске в виде службы Windows. Имя по умолчанию — PostgreSQL . Заметьте, что это влияет только на сообщения, которые выдаёт сам pg_ctl ; как только сервер запустится, он будет использовать источник событий, заданный в event_source. Если произойдёт ошибка при запуске сервера на ранней стадии, он также выдаст сообщение с источником по умолчанию PostgreSQL . -N имя_службы

Имя регистрируемой системной службы. Оно станет и собственно именем службы, и отображаемым именем. -P пароль

Пароль для пользователя, запускающего службу. -S тип-запуска

Тип запуска системной службы. Может принимать значения: auto , или demand , либо быть представлен первой буквой названия каждого приведённого значения. По умолчанию используется auto . -U имя_пользователя

Имя пользователя, от имени которого будут запущена служба. Для доменных пользователей необходимо использовать нотацию DOMAIN\username .

Переменные окружения

PGCTLTIMEOUT

Значение по умолчанию для максимального времени ожидания запуска или остановки сервера (в секундах). По умолчанию это время составляет 60 секунд. PGDATA

Размещение каталога хранения данных по умолчанию.

pg_ctl , как и большинство других утилит PostgreSQL , также использует переменные окружения, поддерживаемые libpq (см. Раздел 32.14). Другие переменные сервера описаны в postgres .

Файлы

postmaster.pid

Наличие файла в каталоге хранения данных помогает pg_ctl определить, работает ли сервер в настоящий момент. postmaster.opts

Если файл существует в каталоге хранения данных, то pg_ctl (при restart ) передаст его содержимое в качестве аргументов postgres , если не указаны иные значения в -o . Содержимое файла также отображается при вызове в режиме status .

Примеры

Запуск сервера

Для запуска сервера:

$ pg_ctl start 

Для запуска сервера с ожиданием готовности к приёму подключений:

$ pg_ctl -w start 

Чтобы запустить сервер с использованием порта 5433 и без fsync , выполните:

$ pg_ctl -o "-F -p 5433" start 

Остановка сервера

Для остановки сервера:

$ pg_ctl stop 

Параметр -m указывает режим остановки:

$ pg_ctl stop -m fast 

Повторный запуск сервера

Повторный запуск сервера производится аналогично остановке с дальнейшим его запуском, за исключением того, что pg_ctl использует аргументы, которые были переданы при предыдущем запуске кластера. В простейшем случае повторный запуск выглядит так:

$ pg_ctl restart 

Для повторного запуска сервера с ожиданием полной остановки и последующего запуска:

$ pg_ctl -w restart 

Для повторного запуска на порту 5433 с выключенным fsync после старта:

$ pg_ctl -o "-F -p 5433" restart 

Вывод состояния сервера

Ниже представлен примерный вывод pg_ctl :

$ pg_ctl status pg_ctl: server is running (PID: 13718) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128" 

Показанная командная строка будет использоваться в режиме перезапуска.

См. также

Пред. Наверх След.
pg_controldata Начало pg_resetxlog

Замечания по установке

Данная версия PostgreSQL сервера может быть установлена на компьютеры с ОС Windows XP SP3 и выше. 64-разрядная версия PosgreSQL сервера может быть установлена только на 64 разрядную версию Windows.

Параметры установки

В начале предлагается задать параметры установки сервера. Можно выбрать компоненты, которые будут установлены.

Если обнаружено, что PostgreSQL сервер уже установлен, то предлагается остановить сервер и обновить его. При этом все соединения с сервером будут отключены. Для определения существования сервера используются данные о предыдущих установках из реестра, поэтому, если Вы ранее запускали сервер нестандартно, он может остаться не обнаруженным.

При установке Вы можете задать путь для установки исполняемых файлов севера и путь к каталогу, в котором будут храниться данные. Если по указанному пути уже находятся данные, то будут использоваться они, запрос параметров сервера и инициализации базы данных проводиться не будет.

В процессе установки предлагается ввести параметры сервера — номер порта, имя супер пользователя, пароль и другие. Рекомендуем вводить имя пользователя и пароль только латинскими буквами. Пароль можно оставить и пустым.

Также предлагается провести некоторую оптимизацию параметров сервера исходя из установленной оперативной памяти (если ее больше 1 Gb) . Параметры сохраняются в файл postgresql.conf, который находится в папке с данными. Оптимизируются 2 параметра: shared_buffers и work_mem. Потом Вы можете самостоятельно изменять эти и другие параметры в зависимости от условий эксплуатации сервера.

После установки, сервер запускается и становится готовым к работе. Перезагрузка компьютера не требуется.

Учетная запись сервиса в Windows

Для запуска сервера используется специальная встроенная учетная запись Windows: ‘NT AUTHORITY\NetworkService’. Запуск службы Postgresql-9.4 от другого пользователя можно настроить после установки, например, через программу «Управление компьютером» в Windows .

Параметры командной строки

Программа установки может быть запущена с параметрами командной строки:

Можно задать путь для установки сервера:

Установка без внешнего интерфейса ( silent install). Этот параметр должен быть именно заглавной буквой S :

Параметры установки могут быть переданы в INI файле:

/ init= Имя_файла. ini

Формат INI файла с параметрами установки

Параметры записываются в секцию [options], эт а строка может быть первой в INI файле. Далее указываются параметры сервера. Если параметр отсутствует, то используются значение по умолчанию.

Могут быть указаны следующие параметры:

InstallDir = Путь для установки сервера

DataDir = Путь к данным

Port = Номер порта

SuperUser = Имя пользователя (лучше вводить латинскими буквами)

Password=Пароль (лучше вводить латинскими буквами)

noExtConnections = 1 – запрещать внешние подключения к серверу

Сoding = Кодовая страница

P gadmin=no — не устанавливать PgAdmin

Vcredist=no — не устанавливать Visual C++ Redistributable Package

Pgserver=no – не устанавливать сервер

odbc=no – не устанавливать ODBC драйверы

Ярлыки программ

После установки для сервера создаются ярлыки, которыми можно воспользоваться с помощью кнопки Пуск (если она есть в Вашей ОС).

SQL Shell (psql) — основное, «родное» консольное средство управления сервером и выполнения запосов.

Reload Configuration — перезагрузить конфигурацию сервера из файлов конфигурации. Следует отметить, что для некоторых параметров требуется перезагрузка сервера.

Restart Server — остановить и запустить сервер заново. Все активные соединения с сервером будут закрыты.

Stop Server — остановить сервер. Все активные соединения с сервером будут закрыты.

Start Server — запустить сервер.

Если Вы установили средство pgAdmin, то для него будут созданы свои ярлыки для запуска.

Удаление сервера

Для удаления сервера выберите ярлык Uninstall или можно использовать панель управления Windows. При удалении сервер останавливается, все активные соединения с сервером будут закрыты. Папка с данными не удаляется. Перезагрузка компьютера не требуется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *