草庐IT

$PostgreSQL

全部标签

python - 如何使用 Python 将 JSONB 插入到 Postgresql 中?

我是python和postgresql的新手我一直在努力用python对每个json行进行硬编码,我认为这不是可扩展的方法。如果有人可以指出可以在不进行硬编码的情况下从python处理json插入的文献或文档。我调查了COPY。 最佳答案 importjsondata=[1,[2,3],{'a':[4,5]}]my_json=json.dumps(data)insert_query="insertintot(j)values(%s)returningj"cursor.execute(insert_query,(my_json,))p

python - 使用 PostgreSQL 在 SQLAlchemy 测试中创建数据库

我正在构建一个Pyramid网络应用程序,该应用程序构建在SQLAlchemy之上,并且完全依赖PostgreSQL作为其数据库后端。有什么方法可以使单元测试结构如此数据库在每次测试运行时构建一次-不是在每次测试时都构建setUp()因为这对于复杂的应用程序来说太慢了(重新)创建数据库表,就像它们在生产中创建的一样(例如,从Alembic运行迁移)。任何不干净的数据库都会在测试运行开始时被销毁。如果标准库unittest框架之外的特定功能使编写测试用例变得更容易,则可以选择自定义测试运行程序lapy.test。 最佳答案 Nose测

python - PostgreSQL:以普通用户身份运行 Python 存储过程

我已经在postgres权限下的postgresql服务器上安装了PL/Python:netherlands=#CREATEPROCEDURALLANGUAGEplpythonu;CREATELANGUAGE现在我需要授予权限,以便我可以作为普通用户使用它:netherlands=#GRANTALLONLANGUAGEplpythonuTOadam;ERROR:language"plpythonu"isnottrustedHINT:Onlysuperuserscanuseuntrustedlanguages.我知道python不是一种“受信任”的语言,但我愿意在这里碰碰运气。有什么方法

python - Postgresql:在不同的客户端中查询速度慢 10 倍

查看postgres服务器日志,我发现当从Linux客户端或Windows客户端调用时,同一postgres服务器上完全相同的查询花费的时间要长得多(大约长10倍)。查询来自Django应用程序,该应用程序在具有4GBRAM的Linux计算机和具有8GBRAM的Windows计算机上运行。两个pyhon环境都有psycopg2库版本2.4.4,可以将请求发送到同一个postgres服务器。以下是postgres服务器日志windows查询(带时间):2013-06-1112:12:19EEST[unknown]10.1.3.152(56895)mferreiraLOG:duration

python - PostgreSQL 类型错误 : not all arguments converted during string formatting

我在链接到PostgreSQL数据库的psycopg2中执行查询。这是有问题的代码:withopen('dataFile.txt','r')asf:lines=f.readlines()newLines=[line[:-1]forlineinlines]curr=conn.cursor()lineString=','.join(newLines)curr.execute("SELECTfields.fieldkeyFROMfieldsLEFTJOINzoneONzone.fieldkey=fields.fieldkeyWHEREzone.zonekey=%s;",(newLines[0

python - Django UUIDField 如何在 Postgresql 中生成 UUID?

阅读这篇博文后https://blog.starkandwayne.com/2015/05/23/uuid-primary-keys-in-postgresql/我想更多地了解Django如何生成uuid,因为我将它们用作我的pk。那么,根据文档,https://docs.djangoproject.com/es/1.9/ref/models/fields/#uuidfield,Django依赖于PythonUUID模块https://docs.python.org/3/library/uuid.html#uuid.UUID.但是UUID有很多种,我完全不清楚Django中生成的是哪一

python - 在 postgresql 8 或 9 中安装 plpython

我想在postgresql上安装plpython来触发python当我恢复我的数据库时(我的数据库有一些python触发器)出现这个错误(错误消息太大所以我粘贴它的第一行):C:/ProgramFiles/PostgreSQL/9.0/bin/pg_restore.exe--hostlocalhost--port5432--username"postgres"--dbname"mfa"--verbose"%HOMEPATH%/Desktop/EhSAA/MFA/db_schema/mydb.backup"pg_restore:connectingtodatabaseforrestore

python - 将大量 csv 文件导入 PostgreSQL 数据库的有效方法

我看到很多将CSV导入PostgreSQL数据库的示例,但我需要的是一种将500,000个CSV导入单个PostgreSQL数据库的有效方法。每个CSV略多于500KB(总计约272GB的数据)。CSV格式相同,没有重复记录(数据是从原始数据源以编程方式生成的)。我一直在搜索并将继续在线搜索选项,但如果能以最有效的方式完成这项工作,我将不胜感激。我确实有一些使用Python的经验,但会深入研究任何其他似乎合适的解决方案。谢谢! 最佳答案 如果您从阅读PostgreSQLguide"PopulatingaDatabase"开始你会看到

python - SQLAlchemy、PostgreSQL 和 array_agg : How to select items from array_agg?

我想使用array_agg在子查询中,然后在我的主查询中通过它的数组索引使用聚合数据,但是,在尝试了许多不同的方法之后,我真的不知道应该怎么做;有人可以解释为什么在下面的示例中我得到了一系列None值而不是数组中的第一个类别吗?我知道下面的简化示例可以在不对数组[i]执行SELECT的情况下完成,但它将解释问题的性质:fromsqlalchemyimportIntegerfromsqlalchemy.dialects.postgresimportARRAYprods=(session.query(Product.id.label('id'),func.array_agg(Product

python - 如何在 SQLAlchemy 中表示自定义 PostgreSQL 域?

我开始将Alembic合并到我已经使用SQLAlchemy表定义的项目中。目前,我的数据库模式在我的应用程序外部进行管理,我想将整个模式放入我的表定义文件中。在PostgreSQL中,我使用自定义域来存储电子邮件地址。PostgreSQLDDL是:CREATEDOMAINemail_addressTEXTCHECK(value~'.+@.+')我如何在SQLAlchemy中表示这个域的创建以及将其用作列数据类型? 最佳答案 这可能远非可行的解决方案,但我认为最好的方法是子类sqlalchemy.schema._CreateDropB