我正在尝试将我的 Flask 应用程序连接到我的 prostgreSQL 数据库,我找到了这个配置示例(下面的代码)。我只是不知道如何找到我的 postgreSQL URI
app = Flask(__name__)
#how do i know my postgresql URI
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://localhost/pre-registration'
db = SQLAlchemy(app)
来自 SQLAlchemy 的文档 (http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls):
数据库 URL 的典型形式是:
方言+驱动://用户名:密码@主机:端口/数据库
这意味着,如果您有一个名为 my_db 的 Postgres 数据库在端口 5432 上的 localhost 上运行,通过用户名 user 和密码 pass 访问,您的 URL 将如下所示:
postgresql://用户:pass@localhost:5432/my_db
要查找您的 Postgres 数据库 URI,您需要以下内容:
这是一个起始 URI 模板:
postgresql://user:password@ip:port/database
遵循 Ubuntu Postgres 文档的前几个步骤,解释了如何安装 postgres 和配置用户。 (https://ubuntu.com/server/docs/install-and-configure-postgresql):
安装 Postgres:
sudo apt install postgresql
连接到默认模板数据库:
sudo -u postgres psql template1
为 Postgres 用户提供密码:
ALTER USER postgres with encrypted password 'your_password';
将这些值放入模板中,用户为
postgres
,密码为 your_password
: postgresql://postgres:your_password@ip:port/database
现在创建数据库。按照 Postgres 文档 (https://www.postgresql.org/docs/current/manage-ag-createdb.html) 中的说明进行操作。以
postgres
用户作为所有者创建数据库:
登录postgres用户:
su postgres
启动psql
psql
并创建数据库:
CREATE DATABASE dbname OWNER postgres;
填写模板,现在数据库名称:
postgresql://postgres:your_password@ip:port/dbname
最后一步是ip和端口。
IP 是托管数据库的服务器,在大多数情况下,这将是您的
localhost
或本地主机地址:127.0.0.1
,并且在大多数情况下,postgres 端口通常是 5432
。
将它们放在一起,SQLAlchemy 的最终 postgres URI 看起来像:
postgresql://postgres:[email protected]:5432/dbname