草庐IT

postgresql_psycopg

全部标签

Postgresql中函数详解看一篇就够了——常用函数以及使用方法

文章目录1.格式转换1.1格式转换符显示转换1.2利用数据类型显示转换1.3格式转换函数显示转换1.4转换案例2.数学计算2.1数学运算操作符2.2数学运算函数3.逻辑计算3.1逻辑操作符3.2比较操作符3.3比较谓词3.4比较函数4.字符串及相关匹配函数5.时间与日期函数5.1时间类操作符5.2时间、日期类函数6.数组函数6.1数组操作符6.2数组函数7.范围函数7.1范围操作符7.2范围函数8.聚集函数8.1常用函数8.2统计类函数8.3有序集聚集函数8.4有序数据集8.5假想集聚集函数(排序)8.6分组操作9.条件类函数10.窗口函数11.查看内部所有函数写在前面,当我们在用postgr

postgresql - 将数据从 Postgresql 移动到 Redis(DB-1)

我正在开发一个Spring-MVC应用程序,我们在其中使用etherpad作为文本编辑器。Etherpad将其内容作为简单的键值对保存在数据库中。但是对于这样一个简单的任务来说性能太差了,Etherpad不执行任何JOIN或其他复杂的操作。出于这个原因,我们决定迁移到redis。Redis正在运行,但我们的数据滞留在postgresql数据库中。我们如何将它移动到Redis1st数据库。这是数据库的外观:Redis正在本地使用端口6379。 最佳答案 您可以选择SET命令形式的所有数据并将其通过管道传输到redis-cli,如下所示

postgresql - 扫描时获取 Redis 值

我以这种方式创建了一个Redis键/值索引:设置7:12:321'{"some:"JSON"}'键以冒号分隔,键的每一部分代表一个层次索引。get7:12:321意味着我知道确切的层次结构并且只想要一个项目scan7:12:*表示我想要层次结构第一层中id7和第二层结构中id12下的每个项目。问题是:如果我想要JSON值,我必须先扫描(几毫秒内约50000个条目)然后获取扫描返回的每个键一(800毫秒)。这不是很有效。这是我在stackoverflow上搜索“扫描Redis值”时找到的唯一答案。1/是否有另一种扫描Redis以获取值或键/值对而不仅仅是键的方法?我尝试了hscan如下:

redis - 在单台机器上运行 Redis 和 PostgreSQL 时优化磁盘 I/O

背景:我有一个使用4个Redis实例的实时Django应用程序。前两个很大:备份量分别为~2GB和~4.4GB。另外两个很小:~85M和~15M。redis-server--version产生Redis服务器v=4.0.2sha=00000000:0malloc=jemalloc-4.0.3bits=64build=401ce53d7b0383ca。问题:它也是一台运行PostgreSQL9.6.5的繁忙服务器。PG数据和Redis备份都保存在副盘xvdb中。我注意到,每当我的大型Redis实例开始备份时,磁盘I/O自然会出现峰值,并且PostgreSQL提交语句开始堆积在慢速日志中。

postgresql - 当 RDS Postgres DB 被删除时,它是否清除连接的 Redis Elasticache?

这个问题就像标题所暗示的一样简单......我们不完全相信将数据重新加载到我们的RDSPostgres实例中会清除缓存对该数据库的调用的Redis缓存。因此,我们不确定UI中显示的新数据是由新的或过时的缓存数据组成的。有没有人有想法。我们已尽最大努力挖掘AWS,看看我们是否可以看到缓存中内容的数据/大小,但收效甚微。似乎很难研究一个看起来很简单的问题,因为大多数谷歌搜索结果都与清除缓存、句号有关(我猜很多人都对这样做有疑问)。 最佳答案 进一步深入研究后,我发现了一个合理的指标,它提供了我需要的信息。对于将来遇到相同问题的任何人,请

django - 如何在 postgresql 或 mongodb 中使用 quandl Python API/模块存储来自 quandl 的数据集和数据库?

有谁知道如何使用Python的quandl模块/API使用postgresql或mongodb将数据集和数据库存储到单个数据库中。任何帮助都感激不尽。谢谢。 最佳答案 从quandlAPI返回的数据是pandas数据帧。您可以使用PyMongo将pandas数据帧保存到mongodb:df=quandl.get("FRED/GDP",returns="pandas")records=json.loads(df.T.to_json()).values()db.myCollection.insert(records)参见thispost

sql - IN() 子句中的 PostgreSQL ORDER BY 值

好的,这里有一些关于如何做到这一点的答案。但是所有的答案都假设查询是全选的。如果您有不同的选择,这些方法将不再有效。请参阅此处了解该方法:SimulatingMySQL'sORDERBYFIELD()inPostgresql基本上我有SELECTDISTINCTidFROMitemsWHEREidIN(5,2,9)ORDERBYCASEidWHEN5THEN1WHEN2THEN2WHEN9THEN3END当然,这个断言"PGError:ERROR:forSELECTDISTINCT,ORDERBYexpressionsmustappearinselectlist"有什么方法可以按照IN

mysql - Postgresql设置下一个要写入的ID

我最近将一个数据库从mysql迁移到pgsql9。但是现在当我尝试创建一个新对象时(在djangoadmin中)它告诉我我正在尝试使用的id(从一个开始并且每次尝试都会增加)已经被使用。我猜有一个指针或索引需要设置为上次使用的id。我说得对吗? 最佳答案 当你定义你的表时,PostgreSQL等价于'auto_increment'是:CREATETABLEfoo(idSERIAL,...);如果您的表已经创建(正如我怀疑的那样),您可以手动添加它:CREATESEQUENCEfoo_id_seq;ALTERTABLEfooALTER

mysql - 模式迁移 : one-to-many, PostgreSQL 中的多对多

背景在MySQL中,我需要用两个表对一对多建模,用三个表对多对多建模,如果我想保留标准化表格。我正在研究向PostgreSQL的迁移,令人惊讶的是,它允许向量甚至多维向量字段!问题PostgreSQL中一对多和多对多的规范映射是什么?一对多是否只是一个带有向量字段的表?是否有规范的多对多建模方式,还是取决于具体情况(比如我需要如何查询)?使用数组字段有什么注意事项吗? 最佳答案 在PostgreSQL中,您通常应该坚持关系建模,就像您目前在MySQL中使用的那样。PostgreSQL的数组很有用,但出于多种原因不应该成为您数据建模的

mysql - Postgresql Select * from 表性能 vs MySql

我有一个要移植到PostgreSQL的MySQL数据库(因为GIS功能)。许多表都有数十万行,因此我需要牢记性能。我的问题是PostgreSQL似乎非常慢...例如,如果我对MySQL数据库中的特定表执行简单的SELECT*FROM[table],假设该表有113,000行,则查询需要大约2秒才能返回数据。在PostgreSQL中,对同一张表执行完全相同的查询需要将近10秒。同样,我还有另一个表,行数较少(88,000),而且更糟!MySQL需要1.3秒,PostgreSQL需要30秒!这是我对PostgreSQL的期望,还是我可以做些什么来让它变得更好?我的操作系统是XP,我运行的是