Django 使用Postgres Shell创建用户
我将遵循本书中的教程: 梅莱,安东尼奥。Django 2举例:从头开始构建功能强大且可靠的Python web应用程序(Kindle位置1917-1918)。 Packt出版公司。Kindle版 我在这一部分:Django 使用Postgres Shell创建用户,django,postgresql,windows-10,psql,Django,Postgresql,Windows 10,Psql,我将遵循本书中的教程: 梅莱,安东尼奥。Django 2举例:从头开始构建功能强大且可靠的Python web应用程序(Kindle位置1917-1918)。 Packt出版公司。Kindle版 我在这一部分: 将全文搜索添加到您的博客 安装PostgreSQL 我使用的是Windows 10,我安装的Postgres很好。说明中说要在postgres shell中键入内容: su postgres createuser -dP blog 我想我正在尝试创建一个名为blog的用户,该用
- 将全文搜索添加到您的博客
- 安装PostgreSQL
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 . . .
我不知道该做什么,或者到底发生了什么?指令非常不清楚看起来您试图在psql、
su postgres
和createuser-dP blog
中使用命令,这些命令都是为类似bash的shell设计的su postgres
表示切换postgres操作系统用户,而createuser
命令是创建数据库用户的shell命令。但是,如果您在psql中,则无法访问该命令
当psql请求数据库连接信息时,您似乎正在输入这些命令,因此即使您向它发送sql/psql命令,在这一点上也不起作用
下面是有关createuser
命令的详细信息。从系统外壳中使用此命令创建数据库用户
下面是关于
创建角色的说明。这就是如何从psql中创建用户。createuser
是从命令行发出的命令。由于您在Windows上,这意味着它是一个.exe文件,可能位于安装Postgres的位置的bin目录中。在命令提示或powershell提示下,使用createuser-dP blog
此外,您可能必须向createuser.exe
提供-h localhost-p 5432-U postgres-W密码,以使其能够与服务器通信。我在阅读William S.Vincent的《Django for Professionals》时也是这样做的
单击PostgreSQL的安装后,它会要求您输入密码。类型:postgres
安装完数据库后,转到项目的设置.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',
}
}
就这样!我节省了你的时间!现在你欠我的 这本书应该适用于任何操作系统,我认为这只是作者的疏忽——它只是说打开外壳。我可以使用pgAdmin,我有一个Mac,我在上面使用postgres,但我想知道windows psql shell的情况如何?端口:5432,引擎:'django.db.backends.postgres_psycopg2'-没有psycopg2,您可能会面临许多不必要的错误!