Python 将Django从SQLite转换为PostgreSQL
我不熟悉Python和Django。我买了一本书,Django 3 by example(第三版),非常喜欢这本书。我现在在第3章,目标是增强搜索引擎的功能。为了做到这一点,本书提供了将DB转换为PostgreSQL的步骤。我正在遵循下面的指示,我已经尝试了几种方法来解决我在谷歌上发现的问题。我似乎找不到答案 步骤:Python 将Django从SQLite转换为PostgreSQL,python,django,postgresql,Python,Django,Postgresql,我不熟悉Python和Django。我买了一本书,Django 3 by example(第三版),非常喜欢这本书。我现在在第3章,目标是增强搜索引擎的功能。为了做到这一点,本书提供了将DB转换为PostgreSQL的步骤。我正在遵循下面的指示,我已经尝试了几种方法来解决我在谷歌上发现的问题。我似乎找不到答案 步骤: 安装PostgreSQL:sudo apt get安装PostgreSQL PostgreSQL contrib 安装psycopg2:pip安装psycopg2二进制文件==2.
sudo -u postgres psql
\password postgres
enter and confirm password
\q
尝试使用su postgres重新登录,并出现su身份验证错误。您将系统用户postgres与数据库用户postgres混淆
sudo-u postgres psql
以系统用户postgres(the-u
)的身份运行一个psql
会话,并以数据库用户postgres的身份登录。如果未指定数据库用户('-U'),则psql
的默认数据库用户是启动它的系统用户。运行\password postgres
然后为数据库用户postgres创建密码。完成后,您可以通过psql
以数据库用户postgres的身份从任何系统用户帐户登录。因此,在您的个人用户帐户中:psql-d postgres-U postgres
。系统将提示您输入密码,请使用您创建的密码。有关更多信息,请参阅和我能找到的关于它的最佳资源是关于如何在ubuntu中进行此配置
这里总结一些步骤:
- 登录到psql命令行界面,将角色从sudo user更改为postgres,然后打开psql命令行提示符
user@ubuntu$ sudo -i -u postgres postgres@ubuntu# psql
- 在psql内部创建一个新用户,用于django应用程序
CREATE ROLE djangouser WITH ENCRYPTED PASSWORD '&%mysupersecurepasswordthatc4ndiff!culh4ck3rsbruteforce!$';
- 向用户djangouser授予登录权限
ALTER ROLE "djangouser" WITH LOGIN; --use double quotes here
- 在数据库中创建一个用于保存数据的
CREATE DATABASE blog;
- 将数据库日志中的权限授予数据库用户
djangouser
GRANT ALL PRIVILEGES ON DATABASE blog TO djangouser;
现在,您可以收集有关数据库名称、用户和密码的信息,以使用正确的值配置settings.py以组装连接字符串。请尝试
sudo su postgres
?