при создании пользователя для моей базы данных PostgreSQL. Я получаю ошибку su: термин ‘su’ не распознан

#django #postgresql #psycopg2 #su #postgresql-12

#django #postgresql #psycopg2 #su #postgresql-12

Вопрос:

Я запускаю следующую команду в моем Windows PowerShell

su postgres

su: термин ‘su’ не распознан как имя командлета, функции, файла сценария или работоспособной программы. Проверьте написание имени или, если был указан путь, убедитесь, что путь правильный, и повторите попытку. В строке: 1 символ: 1

  • su postgres
  • ~~
    • CategoryInfo: ObjectNotFound: (su: String) [], CommandNotFoundException
    • FullyQualifiedErrorId: CommandNotFoundException

Комментарии:

1. su это команда Unix, сокращенная от «переключить пользователя». Очевидно, вы читаете документацию не для той операционной системы.

2. Спасибо, что помогли мне Я читаю книгу под названием django 3 на примере, в которой автор не объясняет, для какой системы эта команда собирается использовать, у меня нет опыта работы с PostgerSQL. Можете ли вы мне помочь, пожалуйста, как сделать то же самое в Windows, я подробно расскажу вам, что я пытаюсь сделать…

3. Я только что проверил книгу, и вы правы, автор допускает небольшую ошибку на этой странице, не раскрывая, что su команда предназначена только для Linux или macOS. Вы можете просто использовать инструмент pgAdmin, установленный с PostgreSQL для Windows, чтобы создать нового пользователя (роль входа) и базу данных.

Ответ №1:

Что касается создания нового пользователя для вашей базы данных PostgreSQL из командной строки, попробуйте выполнить следующие инструкции:

После завершения установки PostgreSQL убедитесь, что вы проверили и скопировали каталог установки, в моем случае это ‘C:Program ФайлыPostgreSQL13’.

Затем следуйте ‘Mycomputer => properties => advanced system settings => Переменные среды => Системные переменные’, выберите ‘Path’ и нажмите ‘Edit’, в котором вы добавите путь ‘C:Program Files PostgreSQL13bin’ и ‘C:Program Files PostgreSQL 13 lib’ и сохраняю изменения.

Далее откройте командную строку:

 cd C:
psql --version
  

вы увидите установленную версию psql, в которой все установлено:

 psql -U Postgres
  

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

 psql (13.1)
Type "help" for help.

postgres=#
  

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

 create database yourdatabasename;
create user yourusername with password 'password';
  

Примените свое собственное имя и пароль и не забудьте точку с запятой ‘;’,
вы также можете проверить список баз данных:

 l
  

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

 grant all on database yourdatabase to yourusername;
  

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

 q
  

для выхода, а затем,

 psql -d databasename -U username
  

Ответ №2:

Ну, в Windows нет команды sudo / su. Ближайшая альтернатива — «запуск от имени администратора».

Вы можете сделать это с помощью команды runas с администратором или, альтернативно, щелкнув правой кнопкой мыши программу в пользовательском интерфейсе и выбрав «запуск от имени администратора».

Комментарии:

1. Спасибо, что помогли мне Я читаю книгу под названием django 3 на примере, в которой автор не объясняет, для какой системы эта команда собирается использовать, у меня нет опыта работы с PostgerSQL. Можете ли вы помочь мне, пожалуйста, как сделать то же самое в Windows, я расскажу вам подробно, что я пытаюсь сделать … — Я пытаюсь добавить полнотекстовый поиск в веб-приложении моего блога с помощью PostgerSQL, я установил его и пытаюсь создать пользователя в book author, используя следующие команды $ Su postgres — $ createuser -dp blog — $createdb -E utf8 -U blog blog — если вы знаете, что делать или что я пытаюсь сделать, пожалуйста, помогите мне.