Postgresql windows создать нового пользователя

Postgresql windows создать нового пользователя

createuser — создать новую учётную запись PostgreSQL

Синтаксис

createuser [ параметр-подключения . ] [ параметр . ] [ имя_пользователя ]

Описание

createuser создаёт нового пользователя PostgreSQL , а если точнее — роль. Лишь суперпользователь и пользователи с привилегией CREATEROLE могут создавать новые роли, таким образом, createuser должна запускаться от их лица.

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

createuser — это обёртка для SQL -команды CREATE ROLE . Создание пользователей с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.

Параметры

createuser принимает следующие аргументы:

Задаёт имя создаваемого пользователя PostgreSQL . Это имя должно отличаться от имён всех существующих ролей в данной инсталляции PostgreSQL . -c номер
—connection-limit= номер

Устанавливает максимальное допустимое количество соединений для создаваемого пользователя. По умолчанию ограничение в количестве соединений отсутствует. -d
—createdb

Разрешает новому пользователю создавать базы данных. -D
—no-createdb

Запрещает новому пользователю создавать базы данных. Это поведение по умолчанию. -e
—echo

Вывести команды к серверу, генерируемые при выполнении createuser . -E
—encrypted

Шифровать пароль пользователя, хранимый в базе. Если флаг не указан, то для пароля используется поведение по умолчанию. -g role
—role= role

Указывает роль, к которой будет добавлена текущая роль в качестве члена группы. Допускается множественное использование флага -g . -i
—inherit

Создаваемая роль автоматически унаследует права ролей, в которые она включается. Это поведение по умолчанию. -I
—no-inherit

Роль не будет наследовать права ролей, в которые она включается. —interactive

Запросить имя для создаваемого пользователя, а также значения для флагов -d / -D , -r / -R , -s / -S , если они явно не указаны в командной строке. До версии PostgreSQL 9.1 включительно это было поведением по умолчанию. -l
—login

Новый пользователь сможет подключаться к серверу (то есть его имя может быть идентификатором начального пользователя сеанса). Это свойство по умолчанию. -L
—no-login

Новый пользователь не сможет подключаться к серверу. (Роль без права входа на сервер тем не менее полезна для управления разрешениями в базе данных.) -N
—unencrypted

Не шифровать пароль, хранимый в базе. Если флаг не указан, то для пароля используется поведение по умолчанию. -P
—pwprompt

Если флаг указан, то createuser запросит пароль для создаваемого пользователя. Если не планируется аутентификация по паролю, то пароль можно не устанавливать. -r
—createrole

Разрешает новому пользователю создавать другие роли, что означает наделение привилегией CREATEROLE . -R
—no-createrole

Запрещает пользователю создавать новые роли. Это поведение по умолчанию. -s
—superuser

Создаваемая роль будет иметь права суперпользователя. -S
—no-superuser

Новый пользователь не будет суперпользователем. Это поведение по умолчанию. -V
—version

Вывести версию createuser и завершить выполнение. —replication

Создаваемый пользователь будет наделён правом REPLICATION . Это рассмотрено подробнее в документации по CREATE ROLE . —no-replication

Создаваемый пользователь не будет иметь привилегии REPLICATION . Это рассмотрено подробнее в документации по CREATE ROLE . -?
—help

Вывести помощь по команде createuser .

createuser также принимает из командной строки параметры подключения:

Указывает имя компьютера, на котором работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета. -p порт
—port= порт

Указывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения. -U имя_пользователя
—username= имя_пользователя

Имя пользователя для подключения (не имя создаваемого пользователя). -w
—no-password

Не выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл .pgpass , попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль. -W
—password

Читайте также:  Окно windows system32 cmd exe что это

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

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

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

Параметры подключения по умолчанию

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

Диагностика

В случае возникновения трудностей, обратитесь к CREATE ROLE и psql . Переменные окружения и параметры подключения по умолчанию libpq будут применены при запуске утилиты, это следует учитывать при диагностике.

Примеры

Чтобы создать роль joe на сервере, используемом по умолчанию:

Чтобы создать роль joe на сервере, используемом по умолчанию, с запросом дополнительных параметров:

Чтобы создать того же пользователя joe с явно заданными атрибутами, подключившись к компьютеру eden , порту 5000:

Чтобы создать роль joe с правами суперпользователя и предустановленным паролем:

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

Postgresql windows создать нового пользователя

createuser — создать новую учётную запись PostgreSQL

Синтаксис

createuser [ параметр-подключения . ] [ параметр . ] [ имя_пользователя ]

Описание

createuser создаёт нового пользователя PostgreSQL , а если точнее — роль. Лишь суперпользователь и пользователи с привилегией CREATEROLE могут создавать новые роли, таким образом, createuser должна запускаться от их лица.

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

createuser — это обёртка для SQL -команды CREATE ROLE . Создание пользователей с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.

Параметры

createuser принимает следующие аргументы:

Задаёт имя создаваемого пользователя PostgreSQL . Это имя должно отличаться от имён всех существующих ролей в данной инсталляции PostgreSQL . -c номер
—connection-limit= номер

Устанавливает максимальное допустимое количество соединений для создаваемого пользователя. По умолчанию ограничение в количестве соединений отсутствует. -d
—createdb

Разрешает новому пользователю создавать базы данных. -D
—no-createdb

Запрещает новому пользователю создавать базы данных. Это поведение по умолчанию. -e
—echo

Вывести команды к серверу, генерируемые при выполнении createuser . -E
—encrypted

Параметр является устаревшим, но в целях совместимости ещё работает. -g role
—role= role

Указывает роль, к которой будет добавлена текущая роль в качестве члена группы. Допускается множественное использование флага -g . -i
—inherit

Создаваемая роль автоматически унаследует права ролей, в которые она включается. Это поведение по умолчанию. -I
—no-inherit

Роль не будет наследовать права ролей, в которые она включается. —interactive

Запросить имя для создаваемого пользователя, а также значения для флагов -d / -D , -r / -R , -s / -S , если они явно не указаны в командной строке. До версии PostgreSQL 9.1 включительно это было поведением по умолчанию. -l
—login

Новый пользователь сможет подключаться к серверу (то есть его имя может быть идентификатором начального пользователя сеанса). Это свойство по умолчанию. -L
—no-login

Новый пользователь не сможет подключаться к серверу. (Роль без права входа на сервер тем не менее полезна для управления разрешениями в базе данных.) -P
—pwprompt

Если флаг указан, то createuser запросит пароль для создаваемого пользователя. Если не планируется аутентификация по паролю, то пароль можно не устанавливать. -r
—createrole

Разрешает новому пользователю создавать другие роли, что означает наделение привилегией CREATEROLE . -R
—no-createrole

Запрещает пользователю создавать новые роли. Это поведение по умолчанию. -s
—superuser

Создаваемая роль будет иметь права суперпользователя. -S
—no-superuser

Новый пользователь не будет суперпользователем. Это поведение по умолчанию. -V
—version

Читайте также:  Live режим установки linux

Вывести версию createuser и завершить выполнение. —replication

Создаваемый пользователь будет наделён правом REPLICATION . Это рассмотрено подробнее в документации по CREATE ROLE . —no-replication

Создаваемый пользователь не будет иметь привилегии REPLICATION . Это рассмотрено подробнее в документации по CREATE ROLE . -?
—help

Вывести помощь по команде createuser .

createuser также принимает из командной строки параметры подключения:

Указывает имя компьютера, на котором работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета. -p порт
—port= порт

Указывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения. -U имя_пользователя
—username= имя_пользователя

Имя пользователя для подключения (не имя создаваемого пользователя). -w
—no-password

Не выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл .pgpass , попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль. -W
—password

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

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

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

Параметры подключения по умолчанию PG_COLOR

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

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

Диагностика

В случае возникновения трудностей, обратитесь к CREATE ROLE и psql . Переменные окружения и параметры подключения по умолчанию libpq будут применены при запуске утилиты, это следует учитывать при диагностике.

Примеры

Чтобы создать роль joe на сервере, используемом по умолчанию:

Чтобы создать роль joe на сервере, используемом по умолчанию, с запросом дополнительных параметров:

Чтобы создать того же пользователя joe с явно заданными атрибутами, подключившись к компьютеру eden , порту 5000:

Чтобы создать роль joe с правами суперпользователя и предустановленным паролем:

В приведённом примере введённый пароль отображается лишь для отражения сути, на деле же он не выводится на экран. Как можно видеть, он шифруется прежде чем передаётся в команде клиенту.

Установка и базовая настройка PostgreSQL в Windows 10

PostgreSQL — это бесплатная объектно-реляционная СУБД с мощным функционалом, который позволяет конкурировать с платными базами данных, такими как Microsoft SQL, Oracle. PostgreSQL поддерживает пользовательские данные, функции, операции, домены и индексы. В данной статье мы рассмотрим установку и краткий обзор по управлению базой данных PostgreSQL. Мы установим СУБД PostgreSQL в Windows 10, создадим новую базу, добавим в неё таблицы и настроим доступа для пользователей. Также мы рассмотрим основы управления PostgreSQL с помощью SQL shell и визуальной системы управления PgAdmin. Надеюсь эта статья станет хорошей отправной точкой для обучения работы с PostgreSQL и использованию ее в разработке и тестовых проектах.

Установка PostgreSQL 11 в Windows 10

Для установки PostgreSQL перейдите на сайт https://www.postgresql.org и скачайте последнюю версию дистрибутива для Windows, на сегодняшний день это версия PostgreSQL 11 (в 11 версии PostgreSQL поддерживаются только 64-х битные редакции Windows). После загрузки запустите инсталлятор.

В процессе установки установите галочки на пунктах:

  • PostgreSQL Server – сам сервер СУБД
  • PgAdmin 4 – визуальный редактор SQL
  • Stack Builder – дополнительные инструменты для разработки (возможно вам они понадобятся в будущем)
  • Command Line Tools – инструменты командной строки

Установите пароль для пользователя postgres (он создается по умолчанию и имеет права суперпользователя).

По умолчание СУБД слушает на порту 5432, который нужно будет добавить в исключения в правилах фаерволла.

Нажимаете Далее, Далее, на этом установка PostgreSQL завершена.

Доступ к PostgreSQL по сети, правила файерволла

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

Запустите командную строку от имени администратора. Введите команду:

netsh advfirewall firewall add rule name=»Postgre Port» dir=in action=allow protocol=TCP localport=5432

  • Где rule name – имя правила
  • Localport – разрешенный порт
Читайте также:  Массовое изменение размера изображений windows

Либо вы можете создать правило, разрешающее TCP/IP доступ к экземпляру PostgreSQL на порту 5432 с помощью PowerShell:

New-NetFirewallRule -Name ‘POSTGRESQL-In-TCP’ -DisplayName ‘PostgreSQL (TCP-In)’ -Direction Inbound -Enabled True -Protocol TCP -LocalPort 5432

После применения команды в брандмауэре Windows появится новое разрешающее правило для порта Postgres.

Измените значение в пункте port = 5432 . Перезапустите службу сервера postgresql-x64-11 после изменений. Можно перезапустить службу с помощью PowerShell:

Restart-Service -Name postgresql-x64-11

Более подробно о настройке параметров в конфигурационном файле postgresql.conf с помощью тюнеров смотрите в статье.

Утилиты управления PostgreSQL через командную строку

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

    Запустите командную строку.

Основные команды PostgreSQL:

  • Проверка установленной версии СУБД: psql –V
  • Для создания новой базы данных воспользуйтесь утилитой createdb: createdb -U postgres testdb (где postgres суперпользователь, testdb новая база данных)Введите пароль суперпользователя.
  • Проверить список активных баз: Psql -U postgres –l (пароль)
  • С помощью инструмента createuser cоздадим нового пользователя: createuser –U postgres operator (где operator -имя нового пользователя)
  • Предоставим пользователю привилегии суперпользователя (на практике этого делать не надо). Запустите интерактивную командную оболочку управления PostgreSQL (shell): psql –U postgres . С помощью SQL команды ALTER ROLE предоставим нужные права нашему пользователю: ALTER ROLE operator SUPERUSER CREATEROLE CREATEDB; . Мы предоставили пользователю права суперпользователя, права на создание ролей и баз данных.
  • Для выводы списка пользователей и ролей в СУБД выполните команду: \du

PgAdmin: Визуальный редактор для PostgresSQL

Редактор PgAdmin служит для упрощения управления базой данных PostgresSQL в понятном визуальном режиме.

  • Для запуска редактора запустите PgAdmin 4 в меню Пуск
  • Для доступа нужно ввести пароль суперпользователя postgres
  • В панели Servers вы можете раскрыть список активных БД.
  • В панели управления возможно быстро создать нового пользователя и группу, предоставить ему права. Для этого Откройте меню Object -> Create -> Create Login/Group.
  • Для создания новой базы данных достаточно выбрать: Database в меню Object -> Create. В новом поле указать имя базы и владельца.

По умолчанию все созданные базы хранятся в каталоге base по пути C:\Program Files\PostgreSQL\11\data\base.

Для каждой БД существует подкаталог внутри PGDATA/base, названный по OID базы данных в pg_database. Этот подкаталог по умолчанию является местом хранения файлов базы данных; в частности, там хранятся её системные каталоги. Каждая таблица и индекс хранятся в отдельном файле.

Для резервного копирования и восстановления лучше использовать инструмент Backup в панели инструментов Tools. Для автоматизации бэкапа PostgreSQL из командной строки используйте утилиту pg_dump.exe.

Query Tool: использование SQL запросов в PostgreSQL

Для написания SQL запросов в удобном графическом редакторе используется встроенный в pgAdmin инструмент Query Tool. Например, вы хотите создать новую таблицу в базе данных через инструмент Query Tool.

  • Выберите базу данных, в панели Tools откройте Query Tool
  • Создадим таблицу сотрудников:

CREATE TABLE employee
(
Id SERIAL PRIMARY KEY,
FirstName CHARACTER VARYING(30),
LastName CHARACTER VARYING(30),
Email CHARACTER VARYING(30),
Age INTEGER
);

Id — номер сотрудника, которому присвоен ключ SERIAL. Данная строка будет хранить числовое значение 1, 2, 3 и т.д., которое для каждой новой строки будет автоматически увеличиваться на единицу. В следующих строках записаны имя, фамилия сотрудника и его электронный адрес, которые имеют тип CHARACTER VARYING(30), то есть представляют строку длиной не более 30 символов. В строке — Age записан возраст, имеет тип INTEGER, т.к. хранит числа.

После того, как написали код SQL запроса в Query Tool, нажмите клавишу F5 и в базе будет создана новая таблица employee.

Для заполнения полей в свойствах таблицы выберите таблицу employee в разделе Schemas -> Tables. Откройте меню Object инструмент View/Edit Data.

Здесь вы можете заполнить данные в таблице.

После заполнения данных выполним инструментом Query простой запрос на выборку:
select Age from employee;

Оцените статью