如何查找 SQLALCHEMY 配置的 postgresql uri

问题描述 投票:0回答:2

我正在尝试将我的 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)
python sql postgresql flask flask-sqlalchemy
2个回答
18
投票

来自 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


0
投票

要查找您的 Postgres 数据库 URI,您需要以下内容:

  1. 数据库
  2. 数据库用户
  3. 该用户的密码

这是一个起始 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

© www.soinside.com 2019 - 2024. All rights reserved.