我的本地 postgresql 数据库 url 的格式是啥?
Posted
技术标签:
【中文标题】我的本地 postgresql 数据库 url 的格式是啥?【英文标题】:What is the form of my local postgresql database url?我的本地 postgresql 数据库 url 的格式是什么? 【发布时间】:2014-09-03 20:38:28 【问题描述】:我正在阅读烧瓶/sqlalchemy 教程 https://pythonhosted.org/Flask-SQLAlchemy/quickstart.html#a-minimal-application 我将我的数据库 url 配置为: postgres://username:password@localhost:5432/dbname
当我在交互式 python shell 中运行 db.create_all() 时,它不会抛出任何错误,但它也不会做任何事情。
据我了解,应该创建包含三列的 User 表; id、用户名和电子邮件。
from flask import Flask, url_for, render_template
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://username:password@localhost:5432/dbname'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
app.debug = True
@app.route("/")
def hello():
return render_template('hello.html')
if __name__ == "__main__":
app.run()
【问题讨论】:
您使用的是哪个驱动程序?司机isn't always optional. @SpencerCooley 你能发布你的psql
查询吗,在那之前你做过create_db()
docs.sqlalchemy.org/en/13/core/engines.html#database-urls
【参考方案1】:
尝试在 URL 中使用postgresql
而不是postgres
。
这是 JDBC 和 SQLAlchemy 文档 (http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html) 中使用的表单。
【讨论】:
是的,我确实尝试过,但随后我进入 psql 控制台并检查是否创建了任何新表并且没有看到任何内容。 嗯...所以您可以通过 psql... 与这些相同的参数连接... postgres 日志中的任何内容? 需要检查一下。我在 mac os 上使用 postgres.app,不确定这是否会有所不同。刚刚找到这个链接codeinthehole.com/writing/configuring-logging-for-postgresapp 啊。是的,默认情况下,该链接日志记录似乎未启用。我在 Ubuntu 上使用 Postgres,通常是从源代码编译的,所以我对 postgres.app 并不熟悉。它本质上似乎是 Postgres 的盒装版本,带有一些附加组件。 Spencer Cooley - 你必须在 python 中提交才能使更改真正发生(默认情况下应该关闭自动提交)【参考方案2】:它应该是准确的格式。
app.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://postgres:postgres@localhost/DBNAME"
postgres
是用户名,postgres
是密码,localhost
是地址
【讨论】:
我们可以重命名用户名和密码以更明确吗?谢谢以上是关于我的本地 postgresql 数据库 url 的格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章