我正在学习这本书中的一篇教程:
Mele,Antonio。Django 2示例:从头开始构建强大而可靠的Python应用程序(KindleLocation1917-1918)。帕克特出版社Kindle版。
我在这部分:
我在Windows 10上安装Postgres很好。说明中说要键入postgres shell
su postgres
createuser -dP blog我想我正在尝试创建一个名为blog的用户,它将有一个密码并允许创建数据库?
当我这么做的时候我得到了:
Server [localhost]: su postgres
Database [postgres]: createuser -dP blog
Port [5432]:
Username [postgres]:
psql: warning: extra command-line argument "postgres" ignored
psql: warning: extra command-line argument "-d" ignored
psql: warning: extra command-line argument "createuser" ignored
psql: warning: extra command-line argument "-dP" ignored
psql: warning: extra command-line argument "blog" ignored
psql: warning: extra command-line argument "-p" ignored
psql: warning: extra command-line argument "5432" ignored
psql: could not translate host name "su" to address: Unknown host
Press any key to continue . . .我不知道该怎么做或者到底是怎么回事?这个指令很不清楚
发布于 2018-12-08 04:16:11
看起来,您试图在psql、su postgres和createuser -dP blog中使用用于bash类shell的命令。su postgres说要切换postgres用户,而createuser命令是创建数据库用户的shell命令。但是,如果您在psql中,则无法访问该命令。
当psql请求数据库连接信息时,您似乎也在输入这些命令,所以即使您发送sql/psql命令,也不会在此时工作。
下面是PostgreSQL文档命令中的createuser。使用系统shell中的此命令创建数据库用户。
这是PostgreSQL文档 on CREATE ROLE。这就是从psql内部创建用户的方式。
发布于 2018-12-08 04:29:50
createuser是从命令行发出的命令。因为您在Windows上,这意味着它是一个.exe文件,可能位于安装Postgres的位置的bin目录中。在命令提示符或powershell提示符下使用createuser -dP blog。
此外,您可能必须向-h localhost -p 5432 -U postgres -W password提供createuser.exe,以使其能够与服务器通信。
发布于 2020-06-25 15:07:03
我所做的,就像我在读威廉·S·文森特的“为专业人士阅读Django”时所做的那样。
一旦您单击PostgreSQL的安装,它将向您询问密码。输入:postgres,当它安装完数据库后,转到项目的settings.py,注释掉旧的:
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }并粘贴文本:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}就这样!我救了你的时间!现在你欠我的!
https://stackoverflow.com/questions/53672593
复制相似问题