Как запустить окна postgresql

Обновлено: 03.07.2024

Прежде чем кто-либо сможет получить доступ к базе данных, вы должны запустить сервер базы данных. Программа сервера базы данных называется postgres. Программа postgres должна знать, где найти данные, которые она должна использовать. Это делается с помощью параметра -D. Таким образом, самый простой способ запустить сервер:

что оставит сервер работающим на переднем плане. Это необходимо сделать, войдя в учетную запись пользователя PostgreSQL. Без -D сервер попытается использовать каталог данных, указанный в переменной среды PGDATA. Если эта переменная также не указана, произойдет сбой.

Обычно лучше запускать postgres в фоновом режиме. Для этого используйте обычный синтаксис оболочки Unix:

Важно где-то хранить выходные данные сервера stdout и stderr, как показано выше. Это поможет в целях аудита и диагностики проблем. (См. Раздел 23.3 для более подробного обсуждения обработки файла журнала.)

Программа postgres также принимает ряд других параметров командной строки. Для получения дополнительной информации см. справочную страницу postgres и главу 18 ниже.

Этот синтаксис оболочки может быстро надоесть. Поэтому программа-оболочка pg_ctl предназначена для упрощения некоторых задач. Например:

запустит сервер в фоновом режиме и поместит вывод в указанный файл журнала. Параметр -D здесь имеет то же значение, что и для postgres. pg_ctl также может остановить сервер.

Обычно сервер базы данных нужно запускать при загрузке компьютера. Сценарии автозапуска зависят от операционной системы. Некоторые из них распространяются вместе с PostgreSQL в каталоге contrib/start-scripts. Для его установки потребуются привилегии root.

В разных системах используются разные правила запуска демонов во время загрузки. Во многих системах есть файл /etc/rc.local или /etc/rc.d/rc.local. Другие используют каталоги init.d или rc.d. Что бы вы ни делали, сервер должен запускаться под учетной записью пользователя PostgreSQL, а не под root или любым другим пользователем. Поэтому вам, вероятно, следует формировать свои команды, используя su postgres -c '. '. Например:

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

Для FreeBSD просмотрите файл contrib/start-scripts/freebsd в исходном дистрибутиве PostgreSQL.

В OpenBSD добавьте следующие строки в файл /etc/rc.local:

В системах Linux добавьте

в /etc/rc.d/rc.local или /etc/rc.local или посмотрите файл contrib/start-scripts/linux в исходном дистрибутиве PostgreSQL.

В NetBSD используйте сценарии запуска FreeBSD или Linux, в зависимости от предпочтений.

В Solaris создайте файл с именем /etc/init.d/postgresql, содержащий следующую строку:

Затем создайте символическую ссылку на него в /etc/rc3.d как S99postgresql.

17.3.1. Сбои при запуске сервера

Существует несколько распространенных причин, по которым сервер может не запуститься. Проверьте файл журнала сервера или запустите его вручную (без перенаправления стандартного вывода или стандартной ошибки) и посмотрите, какие сообщения об ошибках появляются. Ниже мы более подробно объясним некоторые из наиболее распространенных сообщений об ошибках.

Обычно это означает именно то, что предполагает: вы попытались запустить другой сервер на том же порту, на котором уже запущен один. Однако, если сообщение об ошибке ядра не является адресом, который уже используется, или каким-либо его вариантом, может возникнуть другая проблема. Например, при попытке запустить сервер на зарезервированном номере порта может появиться что-то вроде:

вероятно, это означает, что ограничение вашего ядра на размер разделяемой памяти меньше, чем рабочая область, которую пытается создать PostgreSQL (4011376640 байт в этом примере). Или это может означать, что в вашем ядре вообще не настроена поддержка разделяемой памяти в стиле System-V. В качестве временного обходного пути вы можете попробовать запустить сервер с меньшим, чем обычно, количеством буферов (shared_buffers). Со временем вы захотите перенастроить ядро, чтобы увеличить разрешенный размер разделяемой памяти. Вы также можете увидеть это сообщение при попытке запустить несколько серверов на одном компьютере, если их общее запрашиваемое пространство превышает ограничение ядра.

не означает, что у вас закончилось место на диске. Это означает, что ограничение вашего ядра на количество семафоров System V меньше, чем количество, которое хочет создать PostgreSQL. Как и выше, вы можете обойти проблему, запустив сервер с уменьшенным числом разрешенных подключений (max_connections), но в конечном итоге вы захотите увеличить ограничение ядра.

Если вы получаете сообщение об ошибке "недопустимый системный вызов", вполне вероятно, что совместно используемая память или семафоры вообще не поддерживаются вашим ядром.В этом случае единственный вариант — перенастроить ядро, чтобы включить эти функции.

17.3.2. Проблемы с подключением клиента

Хотя условия ошибки, возможные на стороне клиента, довольно разнообразны и зависят от приложения, некоторые из них могут быть напрямую связаны с тем, как был запущен сервер. Условия, отличные от показанных ниже, должны быть задокументированы в соответствующем клиентском приложении.

Это типичная ошибка "Я не могу найти сервер для связи". Это выглядит так, как показано выше, при попытке связи по протоколу TCP/IP. Распространенной ошибкой является забывание настроить сервер для разрешения подключений TCP/IP.

В качестве альтернативы вы получите это сообщение при попытке установить связь через сокет домена Unix с локальным сервером:

Последняя строка полезна для проверки того, что клиент пытается подключиться к нужному месту. Если на самом деле там не работает сервер, сообщение об ошибке ядра обычно будет либо «Отказано в подключении», либо «Нет такого файла или каталога», как показано на рисунке. (Важно понимать, что отказ в подключении в этом контексте не означает, что сервер получил ваш запрос на подключение и отклонил его. В этом случае будет выдано другое сообщение, как показано в Разделе 19.4.) Другие сообщения об ошибках, такие как Время ожидания подключения истекло, могут указывают на более серьезные проблемы, такие как отсутствие сетевого подключения.

Как запустить и остановить базу данных PostgreSQL в Windows

Оглавление

В этом посте мы объясним, как запускать и останавливать базу данных PostgreSQL в Windows. PostgreSQL запускается и останавливается в разных средах по-разному.

Открыть службы Windows

Нажмите Windows+R и введите services.msc, после чего вы сможете найти имя службы сервера PostgreSQL, но не сможете найти параметры запуска и остановки.

Так что вам нужно взять имя службы здесь и выполнить запуск и остановку в командной строке

Здесь имя службы сервера PostgreSql — postgresql-x64-13


Запустите сервер PostgreSQL

Откройте командную строку от имени администратора и выполните следующую команду

Открыть командную строку администратора

  • Начать
  • Введите командную строку в поле поиска.
  • Щелкните правой кнопкой мыши командную строку
  • Выберите «Запуск от имени администратора».

А затем выполните следующую команду

Синтаксис:

C:\WINDOWS\system32>net start

Пример

C:\WINDOWS\system32>net start postgresql- x64-13

postgresql-service-start

Остановить сервер PostgreSQL

Откройте командную строку от имени администратора и выполните следующую команду

Открыть командную строку администратора

  • Начать
  • Введите командную строку в поле поиска.
  • Щелкните правой кнопкой мыши командную строку
  • Выберите «Запуск от имени администратора».

А затем выполните следующую команду

Синтаксис:

C:\WINDOWS\system32>net stop

Пример

C:\WINDOWS\system32>net stop postgresql- x64-13

postgresql-service-stop


Я учусь самостоятельно и люблю тренироваться и писать. Я всегда стараюсь изо всех сил делиться своими знаниями через свой блог.

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

Краткий обзор

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

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

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

pg_ctl перезапустить [ -D каталог данных ] [ -ms s[mart] | ф[аст] | i[mmediate] ] [ -W ] [ -t секунды ] [ -s ] [ -o параметры ] [ -c ]

pg_ctl перезагрузить [ -D каталог данных ] [ -s ]

статус pg_ctl [ -D каталог данных ]

pg_ctl продвижение [ -D каталог данных ] [ -W ] [ -t секунды ] [ -s ]

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

pg_ctl kill signal_name process_id

В Microsoft Windows также:

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

pg_ctl отменить регистрацию [ -N название_службы ]

Описание

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

Режим init или initdb создает новый кластер баз данных PostgreSQL, то есть набор баз данных, которыми будет управлять один экземпляр сервера. Этот режим вызывает команду initdb. Подробнее см. в initdb.

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

режим остановки выключает сервер, работающий в указанном каталоге данных. С помощью параметра -m можно выбрать три различных метода завершения работы. «Умный» режим запрещает новые подключения, затем ожидает, пока все существующие клиенты отключатся и завершится любое онлайн-резервное копирование. Если сервер находится в режиме горячего резерва, восстановление и потоковая репликация будут прекращены после отключения всех клиентов. «Быстрый» режим (по умолчанию) не ждет, пока клиенты отключатся, и завершает выполнение оперативного резервного копирования. Все активные транзакции откатываются, клиенты принудительно отключаются, после чего сервер выключается. «Немедленный» режим немедленно прервет все серверные процессы, без полного завершения работы. Этот выбор приведет к циклу аварийного восстановления при следующем запуске сервера.

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

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

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

Режим logrotate чередует файл журнала сервера. Подробнее о том, как использовать этот режим с внешними инструментами ротации журналов, см. Раздел 24.3.

режим уничтожения отправляет сигнал указанному процессу. Это в первую очередь ценно в Microsoft Windows, в которой нет встроенной команды уничтожения. Используйте --help для просмотра списка поддерживаемых имен сигналов.

Режим регистрации регистрирует сервер PostgreSQL как системную службу в Microsoft Windows. Опция -S позволяет выбрать тип запуска службы: «автоматически» (автоматический запуск службы при запуске системы) или «по запросу» (запуск службы по требованию).

Режим отмены регистрации отменяет регистрацию системной службы в Microsoft Windows. Это отменяет действие команды регистрации.

Параметры

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

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

Добавить вывод журнала сервера в имя_файла . Если файл не существует, он создается. Для umask установлено значение 077, поэтому доступ к файлу журнала другим пользователям по умолчанию запрещен.

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

Определяет параметры, которые будут переданы непосредственно команде postgres. -o можно указать несколько раз, при этом будут переданы все заданные параметры.

Обычно параметры следует заключать в одинарные или двойные кавычки, чтобы обеспечить их передачу как группу.

-o параметры-initdb
--options= параметры-initdb

Определяет параметры, которые будут переданы непосредственно команде initdb. -o можно указать несколько раз, при этом будут переданы все заданные параметры.

Обычно initdb-options следует заключать в одинарные или двойные кавычки, чтобы гарантировать, что они передаются как группа.

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

В режиме инициализации этот параметр аналогично указывает расположение исполняемого файла initdb.

Печать только ошибок, без информационных сообщений.

Указывает максимальное количество секунд ожидания завершения операции (см. параметр -w ). По умолчанию используется значение переменной среды PGCTLTIMEOUT или, если оно не задано, 60 секунд.

Распечатайте версию pg_ctl и выйдите.

Дождитесь завершения операции. Это поддерживается для режимов запуска, остановки, перезапуска, продвижения и регистрации и является значением по умолчанию для этих режимов.

Если операция не завершается в течение времени ожидания (см. параметр -t ), тогда pg_ctl завершает работу с ненулевым статусом выхода. Но учтите, что операция может продолжиться в фоновом режиме и в конечном итоге завершиться успешно.

Не ждите завершения операции. Это противоположно параметру -w .

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

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

Показать справку об аргументах командной строки pg_ctl и выйти.

Если указан допустимый параметр, но не относящийся к выбранному режиму работы, pg_ctl игнорирует его.

Параметры для Windows

Имя источника событий для pg_ctl, которое будет использоваться для регистрации в журнале событий при работе в качестве службы Windows. По умолчанию используется PostgreSQL. Обратите внимание, что это контролирует только сообщения, отправленные самим pg_ctl; после запуска сервер будет использовать источник событий, указанный его параметром event_source. Если сервер выйдет из строя очень рано при запуске, до того, как этот параметр будет установлен, он также может вести журнал, используя имя источника событий по умолчанию PostgreSQL .

Имя системной службы для регистрации. Это имя будет использоваться и как имя службы, и как отображаемое имя. По умолчанию используется PostgreSQL .

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

Тип запуска системной службы. start-type может быть auto или require или первой буквой одного из этих двух. Если этот параметр опущен, по умолчанию используется автоматический режим.

Имя пользователя для запуска службы. Для пользователей домена используйте формат ДОМЕН\имя пользователя .

Окружающая среда

Ограничение по умолчанию на количество секунд ожидания при ожидании завершения запуска или завершения работы. Если не задано, по умолчанию используется 60 секунд.

Расположение каталога данных по умолчанию.

Большинство режимов pg_ctl требуют знания местоположения каталога данных; поэтому параметр -D требуется, если не задан параметр PGDATA.

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

Дополнительные переменные, влияющие на сервер, см. в postgres .

Файлы

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

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

Примеры

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

Чтобы запустить сервер, ожидая, пока сервер начнет принимать соединения:

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

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

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

Опция -m позволяет управлять способом завершения работы сервера:

Перезапуск сервера

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

Но если указан параметр -o, он заменяет все предыдущие параметры.Чтобы перезапустить с использованием порта 5433, отключив fsync при перезапуске:

Отображение статуса сервера

Вот пример вывода статуса из pg_ctl :

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

См. также

Отправить исправление

Если вы обнаружите в документации что-то неверное, не соответствующее вашему опыту работы с конкретной функцией или требующее дополнительных пояснений, используйте эту форму, чтобы сообщить о проблеме с документацией.

Вывод: в этом руководстве вы шаг за шагом узнаете, как установить PostgreSQL в вашей локальной системе.

PostgreSQL был разработан для UNIX-подобных платформ, однако он предназначен для переноса. Это означает, что PostgreSQL также может работать на других платформах, таких как macOS, Solaris и Windows.

Начиная с версии 8.0, PostgreSQL предлагает программу установки для систем Windows, которая упрощает и ускоряет процесс установки. В целях разработки мы установим PostgreSQL версии 12 в Windows 10.

Для завершения установки PostgreSQL необходимо выполнить три шага:

  1. Загрузить программу установки PostgreSQL для Windows
  2. Установите PostgreSQL
  3. Проверьте установку

1) Загрузите установщик PostgreSQL для Windows

Во-первых, вам нужно перейти на страницу загрузки установщиков PostgreSQL в EnterpriseDB.

Во-вторых, нажмите на ссылку для скачивания, как показано ниже:

Загрузить PostgreSQL

Для завершения загрузки потребуется несколько минут.

2) Шаг за шагом установите PostgreSQL в Windows

Для установки PostgreSQL в Windows необходимы права администратора.

Шаг 1. Дважды щелкните файл установщика, появится мастер установки, который проведет вас через несколько шагов, где вы можете выбрать различные параметры, которые вы хотели бы иметь в PostgreSQL.

Шаг 2. Нажмите кнопку "Далее"


Шаг 3. Укажите папку установки, выберите свою или оставьте папку по умолчанию, предложенную установщиком PostgreSQL, и нажмите кнопку «Далее».

Шаг 4. Выберите программные компоненты для установки:

  • Сервер PostgreSQL для установки сервера базы данных PostgreSQL
  • pgAdmin 4 для установки графического инструмента управления базой данных PostgreSQL.
  • Инструменты командной строки для установки инструментов командной строки, таких как psql, pg_restore и т. д. Эти инструменты позволяют взаимодействовать с сервером базы данных PostgreSQL с помощью интерфейса командной строки.
  • Stack Builder предоставляет графический интерфейс, позволяющий загружать и устанавливать драйверы, работающие с PostgreSQL.

Для работы с учебным пособием на этом веб-сайте вам не нужно устанавливать Stack Builder, поэтому снимите флажок и нажмите кнопку "Далее", чтобы выбрать каталог данных:


Шаг 5. Выберите каталог базы данных для хранения данных или примите папку по умолчанию. И нажмите кнопку Далее, чтобы перейти к следующему шагу:


Шаг 6. Введите пароль суперпользователя базы данных (postgres)

PostgreSQL работает как служба в фоновом режиме под учетной записью службы с именем postgres . Если вы уже создали учетную запись службы с именем postgres , вам необходимо указать пароль этой учетной записи в следующем окне.

После ввода пароля необходимо ввести его еще раз для подтверждения и нажать кнопку "Далее":


Шаг 7. Введите номер порта, который будет прослушиваться сервером базы данных PostgreSQL. Порт PostgreSQL по умолчанию — 5432. Необходимо убедиться, что другие приложения не используют этот порт.


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


Шаг 9. Мастер установки покажет сводную информацию о PostgreSQL. Вам необходимо просмотреть его и нажать кнопку «Далее», если все верно.В противном случае вам нужно нажать кнопку «Назад», чтобы соответствующим образом изменить конфигурацию.


Теперь вы готовы установить PostgreSQL на свой компьютер. Нажмите кнопку «Далее», чтобы начать установку PostgreSQL.


Установка может занять несколько минут.


Шаг 10. Нажмите кнопку "Готово", чтобы завершить установку PostgreSQL.


3) Проверьте установку

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

Быстрый способ проверить правильность установки — использовать программу psql.

Сначала щелкните приложение psql, чтобы запустить его. Отобразится программа командной строки psql.


< /p>

Во-вторых, введите всю необходимую информацию, такую ​​как сервер, база данных, порт, имя пользователя и пароль. Чтобы принять значение по умолчанию, вы можете нажать Enter. Обратите внимание, что вы должны указать пароль, который вы ввели во время установки PostgreSQL.

В-третьих, введите команду SELECT version(); вы увидите следующий вывод:


Поздравляем! вы успешно установили сервер базы данных PostgreSQL в своей локальной системе. Давайте изучим различные способы подключения к серверу базы данных PostgreSQL.

Читайте также: