【问题标题】:while creating user for my postgreSQL database. I get error su : The term 'su' is not recognized在为我的 postgreSQL 数据库创建用户时。我收到错误 su:无法识别术语“su”
【发布时间】:2020-12-13 18:27:21
【问题描述】:

我在我的 windows powerShell 中运行以下命令

su postgres

su:术语“su”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。 在 line:1 char:1

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

【问题讨论】:

  • su 是一个 Unix 命令,是“切换用户”的缩写。您显然正在阅读错误操作系统的文档。
  • 感谢您帮助我我正在阅读一本名为 django 3 的书,其中作者没有解释该命令将使用什么系统,我没有使用 PostgerSQL 的经验。你能帮我在windows中做同样的事情吗,我会给你详细说明我正在尝试做什么......
  • 我刚刚检查了这本书,你是对的,作者在那个页面上犯了一个小错误,没有透露su 命令仅适用于 Linux 或 MacOS。您可以简单地使用 PostgreSQL for Windows 安装的 pgAdmin 工具来创建新用户(登录角色)和数据库。

标签: django postgresql psycopg2 su postgresql-12


【解决方案1】:

至于从命令提示符为您的 PostgreSQL 数据库创建新用户,请尝试以下说明:

完成 PostgreSQL 安装后,确保检查并复制安装目录,在我的例子中,是 'C:\Program Files\PostgreSQL\13'。

然后按照“我的电脑=>属性=>高级系统设置=>环境变量=>系统变量”,选择“路径”并单击“编辑”,您将在其中添加路径“C:\Program Files\PostgreSQL \13\bin' 和 'C:\Program Files\PostgreSQL\13\lib' 并保存更改。

下一个打开命令提示符:

cd C:\
psql --version

您会看到已安装的 psql 版本,所有设置均已设置:

psql -U Postgres

在应用您在安装过程中创建的密码后,上面的命令将您连接到数据库超级用户:Postgres。

psql (13.1)
Type "help" for help.

postgres=#

上面的cmets 通知您已连接。 现在在命令中创建一个新用户和数据库:

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 命令执行此操作,或者通过右键单击 UI 中的程序并选择“以管理员身份运行”来执行此操作。

    【讨论】:

    • 感谢您帮助我我正在阅读一本名为 django 3 的书,其中作者没有解释该命令将使用什么系统,我没有使用 PostgerSQL 的经验。你能帮我在windows中做同样的事情吗,我会给你详细说明我正在尝试做的事情...... - 我正在尝试使用PostgerSQL在我的博客Web应用程序中添加全文搜索,我安装了它并尝试在本书作者中创建用户,请使用以下命令 $Su postgres --- $createuser -dp blog --- $createdb -E utf8 -U blog blog --- 如果您知道该做什么或我正在尝试做什么请帮帮我。
    最近更新 更多