Разное

Postgresql create user: PostgreSQL : Документация: 9.5: CREATE USER : Компания Postgres Professional

Содержание

PostgreSQL : Документация: 9.6: createuser : Компания Postgres Professional

createuser

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 также принимает из командной строки параметры подключения:

-h сервер
--host=сервер

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

-p порт
--port=порт

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

-U имя_пользователя
--username=имя_пользователя

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

-w
--no-password

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

-W
--password

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

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

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

PGHOST
PGPORT
PGUSER

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

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

Диагностика

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

Примеры

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

$ createuser joe

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

$ createuser --interactive joe
Назначить роль суперпользователем? (y/n) n
Разрешить новой роли создавать базы данных? (y/n) n
Разрешить новой роли создавать другие роли? (y/n) n

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

$ createuser -h eden -p 5000 -S -D -R -e joe
CREATE ROLE joe NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;

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

$ createuser -P -s -e joe
Введите пароль для новой роли: xyzzy
Подтвердите ввод пароля: xyzzy
CREATE ROLE joe PASSWORD 'md5b5f5ba1a423792b526f799ae4eb3d59e' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;

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

PostgreSQL оператор CREATE USER — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

В этом учебном пособии вы узнаете, как использовать PostgreSQL оператор CREATE USER с синтаксисом и примерами.

Описание

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

Синтаксис

Синтаксис для оператора CREATE USER в PostgreSQL:

CREATE USER user_name
[ WITH [ ENCRYPTED | UNENCRYPTED ] PASSWORD ‘password_value‘
| VALID UNTIL ‘expiration’ ];

Параметры или аргументы

user_name
Имя учетной записи базы данных, которую вы хотите создать.
password_value
Пароль для назначения user_name.
expiration
Дата / время, когда срок действия пароля истечет. Если вы не хотите, чтобы срок действия пароля истек, установите для expiration значение ‘infinity’.

Пример

Рассмотрим, как создать пользователя в PostgreSQL с помощью оператора CREATE USER.
Например:

В этом примере оператора CREATE USER создаст нового пользователя с именем trizor. У этого нового пользователя не будет пароля, но вы можете использовать оператор ALTER USER, чтобы назначить пароль позже.
Если вы хотите назначить пароль во время создания пользователя, вы можете изменить оператор CREATE USER следующим образом:

CREATE USER trizor
WITH PASSWORD ‘zubastik’;

CREATE USER trizor

  WITH PASSWORD ‘zubastik’;

Это создаст пользователя с именем trizor с паролем zubastik.
Если вы хотите создать пользователя trizor с паролем zubastik, срок действия которого истекает 1 января 2020 года, вы должны использовать оператор CREATE USER следующим образом:

CREATE USER trizor
WITH PASSWORD ‘zubastik’
VALID UNTIL ‘Jan 1, 2020’;

CREATE USER trizor

  WITH PASSWORD ‘zubastik’

  VALID UNTIL ‘Jan 1, 2020’;

Если вы хотите, чтобы пароль для пользователя trizor никогда не истекал, вы должны использовать оператор CREATE USER следующим образом:

CREATE USER trizor
WITH PASSWORD ‘zubastik’
VALID UNTIL ‘infinity’;

CREATE USER trizor

  WITH PASSWORD ‘zubastik’

  VALID UNTIL ‘infinity’;

Создать базу данных postgresql и пользователя БД

Создать базу данных postgresql можно через какой-либо веб-интерфейс, установленный на сервере (например, pgAdmin) или в консоли. Второй способ более универсален.

 

Прежде всего требуется подключиться к серверу по SSH.

Далее подключиться к базе от имени пользователя postgres (по умолчанию существует только он)

sudo -u postgres psql

could not change directory to «/root»
psql (9.2.24)
Type «help» for help.

 

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

cd /tmp

sudo -u postgres psql

Или

su -u postgres

psql

 

Оказавшись к консоли можно создать базу данных

postgres=# CREATE DATABASE app;

CREATE DATABASE

 

Затем пользователя, которому присвоить пароль.

postgres=# CREATE USER appadmin WITH PASSWORD ‘jkfdk8H0Indgshy6hk’;

CREATE ROLE

 

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

 

Например, полный доступ:

postgres=# GRANT ALL PRIVILEGES ON DATABASE app to appadmin;

GRANT

 

 

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

mcedit /var/lib/pgsql/data/pg_hba.conf

 

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

 

На практике это обычно неудобно и требуется подключение с реквизитами специально созданного пользователя, по установленному паролю.

 

В файле потребуется заменить в двух строках, начинающихся с host тип аутентификации с ident на md5. Это последнее значение в каждой строке.

 

# TYPE DATABASE USER ADDRESS METHOD

# «local» is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
#host all all 127.0.0.1/32 ident
host all all 127.0.0.1/32 md5
# IPv6 local connections:
#host all all ::1/128 ident
host all all ::1/128 md5

 

Для вступления в силу изменений нужно перезапустить сервис

systemctl restart postgresql

 

 

Установка postgresql на Centos и Debian

Если postgresql на сервере еще нет, его нужно установить.

Centos 7

yum install epel-release

yum install postgresql-server postgresql-devel postgresql-contrib

Debian 9

apt-get update

apt-get install postgresql

 

После установки на CentOS требуется выполнить начальную настройку. Скрипт подобен mysql_secure_instalation в MySQL.

postgresql-setup initdb

Initializing database … OK

 

Для Debian / Ubuntu сервис запускается автоматически, для Centos его нужно стартовать и добавить в автозагрузку

systemctl start postgresql

systemctl enable postgresql

Если сайт, работающий с Postgresql переносится на другой сервер — требуется создать, а потом развернуть на другой машине дамп базы.

Начало работы с PostgreSQL | Записки программиста

PostgreSQL — это кроссплатформенная объектно-реляционная СУБД с открытым исходным кодом. Из этой статьи вы узнаете, как установить PostgreSQL в Ubuntu Linux, подключиться к нему и выполнить пару простых SQL-запросов, а также о том, как настроить резервное копирование.

Чтобы установить PostgreSQL 9.2 в Ubuntu 12.10, выполните следующие команды:

sudo apt-add-repository ppa:pitti/postgresql
sudo apt-get update
sudo apt-get install postgresql-9.2

Дополнение: Для других версий PostgreSQL, версий Ubuntu, а также других дистрибутивов Linux, последовательность шагов аналогичная. Только вместо приведенного PPA я бы все же рекомендовал использовать официальные репозитории пакетов, приведенные на postgresql.org. Также вас могут заинтересовать заметки Потоковая репликация в PostgreSQL и пример фейловера, Некоторые интересные отличия PostgreSQL от MySQL и Как спроектировать схему базы данных.

Попробуем поработать с СУБД через оболочку:

Создадим тестовую базу данных и тестового пользователя:

CREATE DATABASE test_database;
CREATE USER test_user WITH password ‘qwerty’;
GRANT ALL ON DATABASE test_database TO test_user;

Для выхода из оболочки введите команду \q.

Теперь попробуем поработать с созданной базой данных от имени test_user:

psql -h localhost test_database test_user

Создадим новую таблицу:

CREATE SEQUENCE user_ids;
CREATE TABLE users (
  id INTEGER PRIMARY KEY DEFAULT NEXTVAL(‘user_ids’),
  login CHAR(64),
  password CHAR(64));

Обратите внимание, что в отличие от некоторых других СУБД, в PostgreSQL нет столбцов со свойством auto_increment. Вместо этого в постгресе используются последовательности (sequences). На данный момент достаточно знать, что с помощью функции nextval мы можем получать уникальные числа для заданной последовательности:

SELECT NEXTVAL(‘user_ids’);

Прописав в качестве значения по умолчанию для поля id таблицы users значение NEXTVAL('user_ids'), мы добились того же эффекта, что дает auto_increment. При добавлении новых записей в таблицу мы можем не указывать id, потому что уникальный id будет сгенерирован автоматически. Несколько таблиц могут использовать одну и ту же последовательность. Таким образом мы сможем гарантировать, что значения некоторых полей у этих таблиц не пересекаются. В этом смысле последовательности более гибки, чем auto_increment.

Точно такую же таблицу можно создать и при помощи всего лишь одной команды:

CREATE TABLE users2 (
  id SERIAL PRIMARY KEY,
  login CHAR(64),
  password CHAR(64));

В этом случае последовательность для поля id создается автоматически.

Fun fact! Нравится статья? Поддержи автора, чтобы он мог писать больше полезных статей!

Теперь с помощью команды \d можно ознакомиться со списком всех доступных таблиц, а с помощью \d users — увидеть описание таблицы users. Если вы не получили интересующую вас информацию, попробуйте \d+ вместо \d. Список баз данных можно получить командой \l, а переключиться на конкретную БД — командой \c dbname. Для отображения справки по командам скажите \?.

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

CREATE TABLE «anotherTable» («someValue» VARCHAR(64));

Еще одна особенность PostgreSQL, с которой могут возникнуть сложности в начале работы с этой СУБД — так называемые «схемы». Схема представляет собой что-то вроде пространства имен для таблиц, как бы каталог с таблицами внутри базы данных.

Создание схемы:

Переключение на схему:

SET search_path TO bookings;

Просмотреть список существующих схем можно командой \dn. По умолчанию используется схема с именем public. В принципе, можно успешно использовать PostgreSQL, и не зная про существование схем. Но при работе с унаследованным кодом, а также в некоторых граничных случаях, знание о схемах может очень пригодиться.

В остальном работа с PostgreSQL мало чем отличается от работы с любой другой реляционной СУБД:

INSERT INTO users (login, password)
  VALUES (‘afiskon’, ‘123456’);
SELECT * FROM users;

Если сейчас вы попытаетесь подключиться к постгресу с другой машины, то потерпите неудачу:

psql -h 192.168.0.1 test_database test_user

psql: could not connect to server: Connection refused
  Is the server running on host «192.168.0.1» and accepting
  TCP/IP connections on port 5432?

Чтобы исправить это, добавьте строку:

listen_addresses = ‘localhost,192.168.0.1’

… в файл /etc/postgresql/9.2/main/postgresql.conf, а также:

host    all    all    192.168.0.1/16    md5

… в файл /etc/postgresql/9.2/main/pg_hba.conf и скажите:

sudo service postgresql restart

Теперь все должно работать.

Резервное копирование в PostgreSQL выглядит примерно так:

pg_dump -c -h 192.168.0.1 -U test_user test_database > ./dump.sql

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

Восстановление из резервной копии:

cat dump.sql | psql -h 192.168.0.1 test_database test_user

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

pg_dump: server version: 9.2.4; pg_dump version: 9.1.9
pg_dump: aborting because of server version mismatch

Насколько мне известно, единственное нормальное решение этой проблемы — честно держать всюду одну и ту же версию PostgreSQL.

Учтите, что настройки PostgreSQL по умолчанию предполагают, что вы пытаетесь запустить его на микроволновке. Перед использованием PostgreSQL в боевых условиях эти настройки обязательно нужно изменить под ваше железо и ваше приложение. Для быстрой настройки можно воспользоваться онлайн-приложениями Cybertec PostgreSQL Configurator или PgTune. Также есть консольная утилита pgtune. Генерируемый этими решениями конфиг будет далек от оптимального для конкретного приложения, но существенно лучше дэфолтного. Также заметьте, что во многих реальных инсталляциях используется PgBouncer.

Метки: Linux, PostgreSQL, СУБД.

PostgreSQL : Документация: 9.6: CREATE DATABASE : Компания Postgres Professional

CREATE DATABASE

CREATE DATABASE — создать базу данных

Синтаксис

CREATE DATABASE имя
    [ [ WITH ] [ OWNER [=] имя_пользователя ]
           [ TEMPLATE [=] шаблон ]
           [ ENCODING [=] кодировка ]
           [ LC_COLLATE [=] категория_сортировки ]
           [ LC_CTYPE [=] категория_типов_символов ]
           [ TABLESPACE [=] табл_пространство ]
           [ ALLOW_CONNECTIONS [=] разр_подключения ]
           [ CONNECTION LIMIT [=] предел_подключений ]
           [ IS_TEMPLATE [=] это_шаблон ] ]

Описание

Команда CREATE DATABASE создаёт базу данных PostgreSQL.

Чтобы создать базу данных, необходимо быть суперпользователем или иметь специальное право CREATEDB. См. CREATE USER.

По умолчанию новая база данных создаётся копированием стандартной системной базы данных template1. Задать другой шаблон можно, добавив указание TEMPLATE имя. В частности, написав TEMPLATE template0, можно создать девственно чистую базу данных, содержащую только стандартные объекты, предопределённые установленной версией PostgreSQL. Это бывает полезно, когда копировать в новую базу любые дополнительные объекты, добавленные локально в template1, нежелательно.

Параметры

имя

Имя создаваемой базы данных.

имя_пользователя

Имя пользователя (роли), назначаемого владельцем новой базы данных, либо DEFAULT, чтобы владельцем стал пользователь по умолчанию (а именно, пользователь, выполняющий команду). Чтобы создать базу данных и сделать её владельцем другую роль, необходимо быть непосредственным или опосредованным членом этой роли, либо суперпользователем.

шаблон

Имя шаблона, из которого будет создаваться новая база данных, либо DEFAULT, чтобы выбрать шаблон по умолчанию (template1).

кодировка

Кодировка символов в новой базе данных. Укажите строковую константу (например, 'SQL_ASCII') или целочисленный номер кодировки, либо DEFAULT, чтобы выбрать кодировку по умолчанию (а именно, кодировку шаблона). Наборы символов, которые поддерживает PostgreSQL, перечислены в Подразделе 23.3.1. Дополнительные ограничения описаны ниже.

категория_сортировки

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

категория_типов_символов

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

табл_пространство

Имя табличного пространства, связываемого с новой базой данных, или DEFAULT для использования табличного пространства шаблона. Это табличное пространство будет использоваться по умолчанию для объектов, создаваемых в этой базе. За подробностями обратитесь к CREATE TABLESPACE.

разр_подключения

Если false, никто не сможет подключаться к этой базе данных. По умолчанию имеет значение true, то есть подключения принимаются (если не ограничиваются другими механизмами, например, GRANT/REVOKE CONNECT).

предел_подключений

Максимальное количество одновременных подключений к этой базе данных. Значение -1 (по умолчанию) снимает ограничение.

это_шаблон

Если true, базу данных сможет клонировать любой пользователь с правами CREATEDB; в противном случае (по умолчанию), клонировать эту базу смогут только суперпользователи и её владелец.

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

Замечания

CREATE DATABASE нельзя выполнять внутри блока транзакции.

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

Для удаления базы данных применяется DROP DATABASE.

Программа createdb представляет собой оболочку этой команды, созданную ради удобства.

Конфигурационные параметры уровня базы данных (устанавливаемые командой ALTER DATABASE) и разрешения уровня базы (устанавливаемые командой GRANT) из шаблона не копируются.

Хотя с помощью этой команды можно скопировать любую базу данных, а не только template1, указав её имя в качестве имени шаблона, она не предназначена (пока) для использования в качестве универсального средства вроде «COPY DATABASE». Принципиальным ограничением является невозможность копирования базы данных шаблона, если установлены другие подключения к ней. CREATE DATABASE выдаёт ошибку, если при запуске команды есть другие подключения к этой базе; в противном случае новые подключения к базе блокируются до завершения команды CREATE DATABASE. За дополнительными сведениями обратитесь к Разделу 22.3.

Кодировка символов, указанная для новой базы данных, должна быть совместима с выбранными параметрами локали (LC_COLLATE и LC_CTYPE). Если выбрана локаль C (или равнозначная ей POSIX), допускаются все кодировки, но для других локалей правильно будет работать только одна кодировка. (В Windows, однако, кодировку UTF-8 можно использовать с любой локалью.) CREATE DATABASE позволяет суперпользователям указать кодировку SQL_ASCII вне зависимости от локали, но этот вариант считается устаревшим и может привести к ошибочному поведению строковых функций, если в базе хранятся данные в кодировке, несовместимой с заданной локалью.

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

Ограничение CONNECTION LIMIT действует только приблизительно; если одновременно запускаются два сеанса, тогда как в базе остаётся только одно «свободное место», может так случиться, что будут отклонены оба подключения. Кроме того, это ограничение не распространяется на суперпользователей и фоновые рабочие процессы.

Примеры

Создание базы данных:

CREATE DATABASE lusiadas;

Создание базы данных sales, принадлежащей пользователю salesapp, с табличным пространством по умолчанию salesspace:

CREATE DATABASE sales OWNER salesapp TABLESPACE salesspace;

Создание базы данных music с кодировкой ISO-8859-1:

CREATE DATABASE music ENCODING 'LATIN1' TEMPLATE template0;

В этом примере предложение TEMPLATE template0 будет необходимым, только если кодировка template1 отличается от ISO-8859-1. Заметьте, что при смене кодировки может потребоваться также выбрать другие параметры LC_COLLATE и LC_CTYPE.

Совместимость

Оператор CREATE DATABASE отсутствует в стандарте SQL. Базы данных равнозначны каталогам, а их создание в стандарте определяется реализацией.

PostgreSQL Create, Alter, Add, Drop USER

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • Database Testing
        • Назад
        • JUnit
        • LoadRunner
        • Ручное тестирование
        • Мобильное тестирование
        • Mantis
        • Почтальон
        • QTP
        • Назад
        • Центр качества
        • 000300030003 SoapUI
        • Управление тестированием
        • TestLink
    • SAP

        • Назад
        • ABAP
        • APO
        • Начинающий
        • Basis
        • BODS
        • BI
        • BPC
        • CO
        • Назад
        • CRM
        • Crystal Reports
        • QM4000
        • QM4
        • Заработная плата
        • Назад
        • PI / PO
        • PP
        • SD
        • SAPUI5
        • Безопасность
        • Менеджер решений
        • Successfactors
        • Учебники SAP

          • Apache
          • AngularJS
          • ASP.Net
          • C
          • C #
          • C ++
          • CodeIgniter
          • СУБД
          • JavaScript
          • Назад
          • Java
          • JSP
          • Kotlin
          • Linux
          • Linux
          • Kotlin
          • Linux
          • js

          • Perl
          • Назад
          • PHP
          • PL / SQL
          • PostgreSQL
          • Python
          • ReactJS
          • Ruby & Rails
          • Scala
          • SQL
          • 000

          • SQL
          • 000

            0003 SQL

            000

            0003 SQL

            000

          • UML
          • VB.Net
          • VBScript
          • Веб-службы
          • WPF
      • Обязательно учите!

          • Назад
          • Бухгалтерский учет
          • Алгоритмы
          • Android
          • Блокчейн
          • Business Analyst
          • Создание веб-сайта
          • CCNA
          • Облачные вычисления
          • 00030003 COBOL
              9000 Compiler

                9000 Встроенные системы

              • 00030002 9000 Compiler
                • Ethical Hacking
                • Учебные пособия по Excel
                • Программирование на Go
                • IoT
                • ITIL
                • Jenkins
                • MIS
                • Сети
                • Операционная система
                • 00030003
                • Назад
                • Управление проектами Обзоры

                • Salesforce
                • SEO
                • Разработка программного обеспечения
                • VB A
            • Big Data

                • Назад
                • AWS
                • BigData
                • Cassandra
                • Cognos
                • Хранилище данных
                • 0003

                • HBOps
                • 0003

                • HBOps
                • 0003

                • MicroStrategy
                • Пн

            .

            PostgreSQL: оператор CREATE USER


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

            Описание

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

            Синтаксис

            Синтаксис оператора CREATE USER в PostgreSQL:

             СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ имя_пользователя
              [С [ЗАШИФРОВАННЫМ | UNENCRYPTED] PASSWORD ' password_value '
              | ДЕЙСТВИТЕЛЬНО ДО  «истечение срока действия» ]; 

            Параметры или аргументы

            имя_пользователя
            Имя учетной записи базы данных, которую вы хотите создать.
            password_value
            Пароль для назначения user_name .
            истечение
            Значение даты / времени, когда истечет срок действия пароля. Если вы никогда не хотите, чтобы срок действия пароля истекал, установите для expiration значение «бесконечность».

            Пример

            Давайте посмотрим, как создать пользователя в PostgreSQL с помощью оператора CREATE USER.

            Например:

             СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ techonthenet; 

            В этом примере оператор CREATE USER создаст нового пользователя с именем techonthenet .У этого нового пользователя не будет пароля, но вы можете использовать оператор ALTER USER, чтобы назначить пароль позже.

            Если вы хотите назначить пароль во время создания пользователя, вы можете изменить оператор CREATE USER следующим образом:

             СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ techonthenet
              С ПАРОЛЕМ 'фантастический'; 

            Это создаст пользователя с именем techonthenet с паролем «фантастический» .

            Если вы хотите создать пользователя techonthenet с паролем «фантастический» , который истекает 1 января 2015 года, вы должны использовать оператор CREATE USER следующим образом:

             СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ techonthenet
              С ПАРОЛЕМ 'фантастический'
              ДЕЙСТВИТЕЛЬНО ДО «1 января 2015 года»; 

            Если вы хотите, чтобы пароль для пользователя techonthenet никогда не истекал, вы должны использовать оператор CREATE USER следующим образом:

             СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ techonthenet
              С ПАРОЛЕМ 'фантастический'
              ДЕЙСТВИТЕЛЬНО ДО "бесконечности"; 

            .

            Примеры того, как создавать пользователей и предоставлять привилегии в PostgreSQL

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

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

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

            Создать пользователя с веб-интерфейсом

            Первый метод — использование веб-интерфейса. Для PostgreSQL существует несколько веб-интерфейсов — pSQL, pgAdmin, phpPgAdmin. Здесь, в NTC Hosting, мы используем стабильный и проверенный phpPgAdmin, который очень похож на интерфейс phpMyAdmin, используемый для управления базами данных MySQL.

            Чтобы получить доступ к phpPgAdmin, просто перейдите в меню «Базы данных PostgreSQL» в Панели управления веб-хостингом. Там вы увидите список всех созданных баз данных. Чтобы войти в интерфейс phpPgAdmin, просто щелкните соответствующий значок рядом с базой данных.

            Создать пользователя с помощью командной строки

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

            Пример создания пользователя в PostgreSQL

            создать пользователя george с паролем ‘password’;

            Добавить права пользователю

            Как и в других языках SQL, в PostgreSQL вам нужно будет предоставить пользователю привилегии для управления базой данных. Без них он ничего не сможет сделать. Возможные привилегии, которые могут быть предоставлены пользователю: SELECT, INSERT, UPDATE, DELETE, RULE или ALL PRIVILEGES. Таким образом, если у вас есть несколько пользователей, работающих с одной базой данных, вы можете определить их уровень доступа.Синтаксис для предоставления привилегий следующий: GRANT [привилегии, которые вы хотите предоставить] ON [имя базы данных] TO [пользователю].

            Пример предоставления привилегий в PostgreSQL

            предоставить кассиру все права на деньги из базы данных;

            Отменить права пользователя

            После того, как вы добавили привилегии определенному пользователю, вы также можете отозвать их. Опять же, как и при добавлении привилегий, вы можете отозвать только определенные привилегии для пользователя или вы также можете отозвать все привилегии.Синтаксис команды REVOKE такой же, как и у команды GRANT.

            Пример того, как отозвать привилегии в PostgreSQL

            ОТЗЫВАЙТЕ ВСЕ ПРИВИЛЕГИИ НА ДЕНЬГИ У кассира;

            Удалить пользователя

            Вы также можете удалить пользователя целиком, вместо того чтобы отозвать его права. Удаление пользователей никак не повлияет на саму базу данных. Чтобы удалить пользователя, вы должны сначала убедиться, что он теперь является владельцем базы данных, иначе вы получите сообщение об ошибке.Команда для удаления пользователя: DROP USER. Его синтаксис: DROP USER [пользователь]

            .

            Пример того, как удалить пользователя в PostgreSQL

            Кассир DROP USER;

            пользователей PostgreSQL с хостингом NTC

            Чтобы облегчить работу своих клиентов, с каждой базой данных NTC Hosting автоматически создает имя пользователя со всеми привилегиями после создания базы данных. Имя пользователя будет таким же, как у базы данных. Таким образом, вы можете создать новую базу данных менее чем за 10 секунд, введя только имя пользователя и пароль.

            Ресурсы:

            .

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

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