在为我的postgreSQL数据库创建用户时我收到错误su:无法识别术语su

问题描述

我在Windows powerShell中运行以下命令

su postgres

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

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

解决方法

在Windows中,没有sudo / su命令。最接近的替代方法是“以管理员身份运行”。

您可以与管理员使用runas命令,也可以通过右键单击UI中的程序并选择“以管理员身份运行”来完成此操作。

,

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

在完成 PostgreSQL 安装后,请确保检查并复制安装目录,在我的情况下,是“C:\Program Files\PostgreSQL\13”。

然后按照'Mycomputer => properties => advanced system settings => Environment Variables => System Variables',选择'Path'并点击'Edit',你将在其中添加路径'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=#

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

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

申请你自己的名字和密码,不要忘记分号';', 您还可以查看数据库列表:

\l

您需要做的最后一件事是将新数据库的权限授予新用户:

grant all on database yourdatabase to yourusername;

如果您想连接到您刚刚创建的数据库:

\q

退出,然后,

psql -d databasename -U username