草庐IT

postgresql主备

全部标签

python - 如何使用 SQLAlchemy + postgreSQL 减少连接数?

我正在heroku上开发,使用他们的Postgres附加组件和Dev计划,连接限制为20。我是python的新手,这可能是微不足道的,但我发现很难在不引起OperationalError:(OperationalError)FATAL:toomanyconnectionsforrole的情况下抽象数据库连接.目前我有databeam.py:importosfromflaskimportFlaskfromflask.ext.sqlalchemyimportSQLAlchemyfromsettingsimportdatabaseSettingsclassDb(object):def__in

python - 如何合并 SQLAlchemy 和 postgresql 中的两个子查询

需要原始SQL:SELECTidFROM(SELECTsome_table.idFROMsome_tableWHEREsome_table.some_fieldISNULL)ASsubq1UNION(SELECTsome_table.idWHEREsome_table.some_fieldISNOTNULL)LIMIT10;这是python代码:importsqlalchemySOME_TABLE=sqlalchemy.Table('some_table',sqlalchemy.MetaData(),sqlalchemy.Column('id',sqlalchemy.Integer,p

PostgreSQL之日期时间小结

PostgreSQL关于时间日期的语法及注意事项sql时间用法获取当前日期的函数&&获取当前时间的函数获取当前日期的函数获取当前时间的函数获取当前日期加时间的函数函数:current_timestamp函数:transaction_timestamp()函数:statement_timestamp()函数:clock_timestamp()函数:timeofday()函数:now()延迟执行函数:pg_sleep()函数:pg_sleep_for()函数:pg_sleep_until()时间和日期函数to_char(timestamp,text)to_char(int,text)to_char

python - 关于postgresql绑定(bind)变量的问题

我正在查看question并决定尝试使用绑定(bind)变量。我用sql='insertintoabc2(interfield,textfield)values(%s,%s)'a=time.time()foriinrange(10000):#justawrapperaroundcursor.executedb.executeUpdateCommand(sql,(i,'test'))db.commit()和sql='insertintoabc2(intfield,textfield)values(%(x)s,%(y)s)'foriinrange(10000):db.executeUpda

python - PostgreSQL 连接应该在 Python 网络应用程序中汇集,还是为每个请求创建一个新连接?

我正在用Python(使用Flask)构建一个网络应用程序。我不打算使用SQLAlchemy或类似的ORM系统,而是直接使用Psycopg2。我应该为每个新请求打开一个新的数据库连接(然后关闭它)吗?或者我应该使用一些东西来汇集这些连接? 最佳答案 PgBouncer对应用程序和服务器来说非常简洁和透明。我们已经在生产中使用PgBouncer2年了,没有出现过任何问题。这是一个非常棒的PostgreSQL连接池。http://wiki.postgresql.org/wiki/PgBouncer

python - 如何从 Django/postgreSQL 中的数据库中随机获取一个项目?

所以我得到了database.objects.all()和database.objects.get('name')但我如何才能从数据库中获取一个随机项目。我在尝试弄清楚如何获取它或选择一个随机项目时遇到问题。 最佳答案 从所有数据库对象列表中选择一个随机元素并不是goog解决方案,因为检索数据库的所有元素会对性能产生很大影响,使用order_by('?')如djangodocumentation中所述.最好的解决方案应该是检索具有随机索引的元素:importrandomrandom_idx=random.randint(0,Mode

python - Django ArrayField null=使用 Postgresql 的真正迁移

所以在Django文档中,在Postgresql上创建新字段时它说(Fulldescription):...it’srecommendedyoualwayscreatenewcolumnswithnull=True,asthiswaytheywillbeaddedimmediately.如果我想创建一个像这样的ArrayField怎么办:tags=ArrayField(models.CharField(max_length=255,blank=True,default=''),default=list,null=True)我是否也应该将null=True传递给ArrayField中的C

python - 使用 Flask、python 和 postgresql 如何连接到预先存在的数据库?

我想连接到一个预先存在的postgres数据库,该数据库在我的应用程序中没有与之关联的模型。也许不出所料,事实证明这很麻烦,这是我第一次尝试使用Python和Flask。app/py代码是:importosfromflaskimportFlaskfromflaskimportrender_templatefromflask.ext.sqlalchemyimportSQLAlchemyfromsqlalchemyimportcreate_engine,Column,Integer,Stringfromsqlalchemy.ext.declarativeimportdeclarative_

python - 如何在 postgresql 上使用 sqlalchemy 进行正确的更新插入?

我想使用sqlalchemy核心使用postgresql9.5添加的"new"功能进行更新插入。在实现时,我对语法感到很困惑,无法适应我的需要。这是我希望能够执行的操作的示例代码:fromsqlalchemy.ext.declarativeimportdeclarative_baseBase=declarative_base()classUser(Base):__tablename__='test'a_id=Column('id',Integer,primary_key=True)a=Column("a",Integer)engine=create_engine('postgres:/

python - 如何在 SQLAlchemy 中的文本数组列上创建 GIN 索引(使用 PostgreSQL 和 python)

我想在postgre表上执行大量查询以按标签过滤fromsqlalchemy.dialects.postgresqlimportARRAYclassPost(db.Model):__tablename__='post'id=db.Column(db.Integer,primary_key=True)tags=db.Column(ARRAY(db.String))Thislink建议将标签存储为带有GIN索引的文本数组。如何将GIN索引添加到上表?我使用String还是Text数据类型也有区别吗? 最佳答案 我通过以下方式解决了它:f