PostgreSQL中的双精度格式

我有一个包含3列的表: customer_name varchar ,account_type varchar ,current_balance double precision 当前_余额的示例值: 1200 1500.5 1500 它以我想要的方式格式化,但在开头添加了一个空格。如何解决这个问题?有没有更好的格式化方法 to_char(current_balance, 'FM9999999999999999D99') 发件人: FM:前缀填充模式(抑制填充 空格和零) 如果需要特

PostgreSQL:检查多个表中是否存在键

我有一个表,其中包含用户对故障问题的评论: create table related_comment ( id varchar(20) references trouble_noreset, username varchar(20) not null, comment varchar(320) not null, created timestamp default current_timestamp ); 它工作正

Postgresql 为什么这个查询会死锁?

我有一个应用程序,它读取现有PostgreSQL 9.1数据库的结构,将其与“应该”状态进行比较,并相应地更新数据库。大多数情况下,这很好。但是,我现在在读取当前数据库结构死锁时有几个实例。查询负责读取现有外键: SELECT tc.table_schema, tc.table_name, tc.constraint_name, kcu.column_name, ccu.table_schema, ccu.table_name, ccu.column_name FROM infor

PostgreSQL中具有夏令时的时区

我们正在部署我们自己的测流仪,非常像美国地质勘探局的测流仪:这样我们的皮划艇运动员就知道是否有足够的水来划水,而不必浪费时间和汽油开车去那里。我们希望在横跨东部和中部时区的东南白水区安装一些这样的装置 我使用记录的默认值current_time来存储插入记录的时间。我想稍后使用MM/DD/YYYY HH12:MI AM TZ格式显示数据,该格式输出的读数类似于2012年12月3日凌晨01:00 CDT。我还想让输出知道日光节约时间的变化,因此前一句的最后一部分将在CST和CDT之间变化,当我们“

从PostgreSQL中的触发器返回错误消息

我想对插入到表中的数据执行一些业务验证,并且在执行此操作时需要检查另一个表中的数据。实现这一点的方法似乎是在PostgreSQL中为每一行使用插入前触发器,如果新数据验证失败,我可以从它调用的函数中返回NULL,以防止插入 是否有任何方法可以返回描述验证错误的错误消息?用于异常: 39.8。错误和消息 使用RAISE语句报告消息并引发错误。 […] 异常引发错误(通常会中止当前事务) 所以你可以在你的触发器里这样说: raise exception 'Say something useful a

Postgresql 列出所有表

我想在PostgreSQL安装中列出liferay数据库中的所有表。我该怎么做 我想从应用程序中执行SELECT*应用程序是my liferay db中的一个表。这是怎么做到的 以下是我所有数据库的列表: postgres=# \list List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges

PostgreSQL UPSERT(可写CTE)中的不明确列使用一个表更新另一个表

我有一个名为users\u import的表,我正在解析和导入CSV文件。如果用户已经存在,我想使用该表更新我的用户表,如果不存在,则插入。(这实际上是一个非常简单的例子,我正在尝试做的事情要复杂得多。) 我正在尝试做类似的事情: 以下是表定义和查询: CREATE TABLE users ( id INTEGER NOT NULL UNIQUE PRIMARY KEY, name TEXT NOT NULL ); CREATE TABLE users_import (

Postgresql 将序列值重置为1

我需要在TRUNCATE表之后,重置他的序列,为此我做: SELECT setval('mytable_id_seq', 1) 之后,当在表中插入行时,序列从2开始,而不是1 如何重新输入序列值,使新的第一个值为1 SELECT setval('mytable_id_seq', 0) // gives error that value is out of range 使用第三个参数作为setval(): setval(yourseq,1,false) 或者改变顺序: alter seq

Postgresql 如何监控Heroku postgres数据库

NewRelic提供了很好的数据库分析,但是它似乎只跟踪web应用程序的事务 我独立管理服务器,这些服务器查询并加载我的Heroku postgresql数据库。是否有一种方法可以对数据库活动进行诊断和分析,以使其包括所有与之相关的连接?New Relic application monitoring将仅收集数据库查询的数据,这些数据库查询是正在监视的web事务或后台任务的一部分。如果您使用的是NewRelic支持的语言之一来查询您的数据库,则可以将该代码作为后台任务进行跟踪(请参阅)。如果您想

通过以下方法优化具有慢顺序的PostgreSQL查询

我正试图让这个查询运行得更快。似乎按质量字段排序是真正减慢速度的原因(该表大约有500万行)-也许有一个索引可以用于此 查询: SELECT "connectr_twitterpassage"."id", "connectr_twitterpassage"."third_party_id", "connectr_twitterpassage"."third_party_created", "connectr_twitterpassage"."source", "connectr_twitterp

Postgresql 炼金术手册ORM:&x27;RelationshipProperty';对象没有属性';家长';

我是sqlAlchemy的新手,我正在尝试创建一个手动对象关系映射,映射到我的Flask应用程序中已经存在的postgresql数据库。我正在使用。但是,它没有说明如何使用backref创建模型之间的关系。到目前为止,这是我的models.py类,唯一给我带来麻烦的是backref。我试图在用户和F_联盟(许多幻想联盟对一个用户)之间建立一对多的关系。运行文件models.py时,出现以下错误: <User u'ivan'> <F_League u'First Fantasy

Postgresql postgres查询没有结果数据的目标

我对pgSQL非常陌生 有人能帮助解决这个错误吗 ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use PERFORM instead. CONTEXT: PL/pgSQL function prac_data.document_get_document_title(integer) line 8 at SQL statement

PostgreSQL:结果(带有连接)是如何通过网络发送的?

如果我进行一个查询,将m行连接到n个结果中的每一个,我将得到总共n*m个结果行(每个结果将有m行连接到它) 如果我通过网络连接,n*m行是否会通过网络发送,或者PostgreSQL软件是否足够智能,能够以更短的方式表示它?(即n1*(m1,m2,m3)而不是n1m1,n1m2,n1m3等。)我相信简单的答案是否定的 从文档: 在简单查询模式下,检索值的格式始终为文本, 除非给定命令是从用声明的游标获取的命令 二进制选项。在这种情况下,检索到的值是二进制的 格式。RowDescription消息中

Postgresql 如何找到多个关系的表名(多个表名存储在哪里?)

我正在尝试从损坏的Odoo安装中恢复数据(uprade被搞砸了) 我已经使用postgresql(psql)将所有表导出到CSV。我也能处理许多关系 对于许多关系,我需要一种方法,通过编程找出哪个数据库表包含关系详细信息(两个模型的ID)。我尝试使用xmlrpc从ORM“fields\u get”函数获取数据。字段定义返回一个字典,其中有一个名为“relation”的键。但是,该键只包含关系中涉及的其他表/模型的名称。对于许多关系,还有第三个表。我找不到odoo存储此表名称的位置 示例数据: 让

如何防止postgresql语句锁定时间过长?

有没有一种方法可以告诉postgres“中止任何已获取并持有锁超过指定毫秒数的语句” 我在postgres中发现了以下两种说法: 语句\u超时:中止任何超过指定毫秒数的语句 lock\u timeout:在尝试获取锁时,中止等待时间超过指定毫秒数的任何语句 详情如下: 然而,两者都不是我所需要的。第一个语句过于通用(适用于尚未获取锁的语句),而第二个语句将中止错误的语句(即正在等待的语句;而不是已获取锁的语句) 仅供参考:我们的用例用于自动中止可能导致停机的数据库迁移

Postgresql 删除空格

我有一个float值来删除其中的空白 下面是一个例子 在SQL Server中:在SQL Server中,我使用了以下脚本 DECLARE @f1 FLOAT = 74.3658319091568; SELECT REPLACE(@f1,CHAR(160),''); do $$ DECLARE v_f1 float = '74.3658319091568'; v_f3 text; BEGIN SELECT regexp_replace(v_f1::varchar

Postgresql 我可以更改现有Citus表的分配方法吗?

在从MySQL迁移到Citus集群的过程中,我使用了rangedistribution方法。迁移已完成,但现在我想将分发方法更改为hash 有没有办法将已有数据表的分发方法从range更改为hash 我提出了以下程序,但不确定它是否有效: 更新pg_dist_shard表的minvalue和maxvalue列,查看所有正在更改的碎片 将pg\u dist\u分区表的碎片存储类型列从r更新为h COMMIT 这是一个好问题。目前,Citus并没有提供一种直接的方法来更改现有数据的分区类型 在范围分

Postgresql plpgsql在'处或附近创建函数语法错误;创建';

似乎无法创建此函数,即使我清空了所有的DECLARE块和BEGIN-END块并尝试返回一个字符串。有人能帮我解决我在这里做错的事吗 尝试在pgAdminIII(Ubuntu)中执行此操作: 获取以下错误: ERROR: syntax error at or near "CREATE" LINE 1: CREATE OR REPLACE FUNCTION split_country() ^ ********** Error ********** ERROR: syntax e

Postgresql magento会在EAV上使用JSONB吗?

说jsonb比EAV快 不知道这个结论是否过于简化了 我们正在创建一个需要支持多种产品的市场 与EAV相比,JSON似乎更受欢迎 所以我的问题是,使用JSONB比使用EAV来描述产品属性更好吗

Postgresql 使用PowerShell更改ODBC连接服务器名参数

我需要一种自动方式来仅更改到PostgreSQL数据库的连接的servername参数 我在研究中发现的唯一方法是通过PowerShell脚本,按照下面的说明进行操作。它声明Set-OdbcDsn可以修改、添加或删除连接属性 我有以下脚本: $DsnArray = Get-OdbcDsn -DriverName "PostgreSQL ANSI" | Where-Object {($_.Attribute["Servername"] -eq "oldServer")} S

如何解释postgresql死锁消息?

我正在运行Postgresql 9.5.2服务器,偶尔会看到如下消息: 错误:检测到死锁 详细信息:进程1234等待事务3042999324上的ShareLock;被进程5678阻止。 进程5678等待事务3042999328上的ShareLock;被进程1234阻止。 提示:有关查询详细信息,请参阅服务器日志。 其中:锁定与“资产”相关的元组(5389,30)时 如果它包含关于导致死锁的行或列的任何信息,它将帮助我调试首先导致错误的大错误。我在询问问题时查找正确的术语时找到了它:tuple指的

Postgresql 在HighChart中查看时间戳

我正在从postgresql数据库读取数据 select id as x , y from myTable 并将其发送到客户端并显示到highchart中。 如果我发送数据 { "x" : 123, "y" : 0.12 } 它显示正确。 但当我在x中发送日期时,它不会查看图表上的任何数据 select time_created::timestamp::date as x , y from myTable { "x" : "2017-05-09", "y"

Postgresql flask sqlAlchemy如何处理json主键?

我不熟悉烧瓶和炼金术。任何帮助都会很好 我的模型如下: class ReferentialDatum(db.Model): __tablename__ = 'referential_data' sid = db.Column(db.Integer, primary_key=True, nullable=False) venues = db.Column(db.JSON, primary_key=True, nullable=False) exchange_tic

Postgresql Postgres返回的行未通过非空检查

我很想知道为什么下面的IF(previous\u foo.NOT NULL)条件失败,因为将此行更改为IF(previous\u foo.total NOT NULL)计算结果为true CREATE OR REPLACE FUNCTION foo_total(the_bar bar) RETURNS numeric LANGUAGE plpgsql STABLE AS $$ DECALRE previous_foo foo; BEGIN

在PostgreSQL中使用串行类型的开销是多少?

我知道,对于有许多INSERTs和DELETEs的表,最好使用serial类型作为主键 但是,对于具有标准数据(如大陆、国家、性别、选项)的表,插入的情况很少发生,删除的情况几乎从未发生,并且任何插入的操作都严格由“管理员”完成,使用串行类型是否仍然是更好的选择 使用串行类型(序列)的开销是多少 Tia的开销非常小:一行输入。从PostgreSQL 10开始,您可以使用ANSI SQL。开销基本相同,意味着根本没有开销。serial不是性能特性 它的用途是自动为列指定唯一值,通常作为人工主键。谢

Postgresql docker psql命令赢得';行不通

我试图使用以下命令在docker终端中建立db: psql -h 192.168.99.100 -p 15432 -U postgres 但是,我收到以下错误:bash:psql:command-notfound 你能帮我弄明白可能是什么问题吗 提前谢谢 您需要在容器中执行此命令,而不是在终端本身中执行 docker exec -it <postgres_container_id_or_name> psql -h 192.168.99.100 -p 15432 -U postgre

PostgreSQL是否与SQLite类似,为每个文件存储一个数据库?

如果我是正确的,SQLite会为每个文件存储一个数据库,并且一个文件不能存储多个数据库 PostgreSQL如何以文件的形式存储数据库?它是否也为每个文件存储一个数据库,并且一个文件不能存储多个数据库?(SQLite在或中时使用多个文件。) PostgreSQL数据库文件布局记录在其: 每个表和索引都存储在单独的文件中。对于普通关系,这些文件以表或索引的filenode编号命名,可以在pg_class.relfilenode中找到。[…]除了主文件(a/k/a main fork)之外,每个表和

如何使用PostgreSQL和TypeORM进行查询,其中表具有JSON类型列

如何从PostgreSQL中的JSON类型列进行查询?假设以下是包含JSON类型列validDates的我的实体: //我的菜单-实体类 @实体() 导出类菜单{ @PrimaryGeneratedColumn('uuid') id:字符串; @列('json',{nullable:true}) validDates?:ValidDateClass; } //ValidDateClass 导出类ValidDateClass{ [键:字符串]:布尔值; }

PostgreSQL生成一个空的20字节gzip备份文件

我们在Jelastic中管理多个Java+PostgreSQL环境。我们的PaaS提供商使用Jelast平台5.4版 在每个环境中,我们都有一个cron任务,该任务调用一个shell脚本,通过PostgreSQL 9.4的pg_dump生成每日gzip数据库备份。这个脚本已经运行多年了,但最近它停止了工作。脚本如下所示: #!/bin/bash DATE=`date +"%Y-%m-%d_%H-%M-%S"` DB_NAME="my-backup" FILE="$DB_NAME-$DATE.ba

Postgresql Golang GORM搜索条件

使用gorm&postgres在Golang中编写Web服务器时,我对以下代码中第二次循环迭代的具体情况产生了误解: ... for _, t := range tasks { newDbConn := db.SchoolServerDB.Debug().New() err = newDbConn.Where("id = ?", t.DayID).First(&day).Error if err != nil { return errors.Wra

Postgresql 带前导空格的Postgres字符串比较

我希望Postgres在进行字符串比较时将前导空格作为字符串的一部分。但是,9.5版并非如此 select ' s' > 'ny'; ?column? ---------- t (1 row) 我希望它返回false,我认为应该返回false,因为空格的ASCII值小于'n'。是否有一些设置需要更改,以便返回false?请尝试: select ' s'::bytea > 'ny'::bytea; 我参加了11级博士后考试,效果不错。请参阅。 排序规则功能允许指定每列甚至每项操

Postgresql test.csv文件问题的Postgres表

我想将csv文件复制到表中。所有csv文件列都映射到表列。但表中有一个自动递增列 例如: test.csv文件有3列A、B、C。相对值为“城市”、“姓名”、“性别” testtable还有4列,分别为序号、A、B、C。序号为自动递增列 从“test.csv”分隔符、“csv”复制到testtable 它将有一个错误:复制表格ST,第1行,序号:“城市” 事实上,我希望第一行是 seq_no---A-------B-------C 1 city name sex 我无法

Postgresql 有效地分组许多字段,包括大文本和jsonb

提前道歉。。。冗长的问题 假设我有一个表table_x,其中有20个字段: table_x_id (identity pk) int1 int... int8 text1 text... text8 jsonb1 jsonb2 现在假设我想在表x中保持对分组数据的快速访问(例如,字段int1、int2、text1\u id、text2\u id和jsonb1)。称之为报告1。在提出这个问题时,数据并没有真正发挥重要作用,但这里有一个来自报告1的虚构片段: +------------------

Postgresql复制命令问题

这是命令行,看起来很简单,我已经阅读了这个链接()上的文档,检查了我的postgresql版本,当我运行代码时,它给出了这个错误 copy (select * from TABLE_NAME) TO '/home/name/teste.csv'; 文件在那里,用“pwd”检查路径,一切似乎都正常,最后还用“with CSV”尝试了代码,什么都没有。 有人看到我没有的东西吗?要使此命令起作用,数据库服务器上必须有/home/name,操作系统用户postgres必须具有对该目录的写入权限。文件t

若when then else子句给出错误:由用作表达式的子查询返回的多行。在postgresql中

触发时,下面的查询将给出一个错误:子查询返回的多行用作表达式 选择表\u name\u 1.column\u name='ABC'时的大小写 然后从表2中选择列名称,其中列名称3='XYZ' else table_name_1.column_name作为table_name_1的结果结束 子查询从表_name_2中选择列_name_2,其中列_name_3='XYZ'返回多行。这就是您需要解决的问题。表2上的数据完整性问题可能重复查找。列_name_3至少有2行包含值XYZ。要回答的问题是是否有

Postgresql 如何使用Kotlin Exposed在非“public”或“dbo”的数据库架构中创建表,并在所述表上创建外键?

因此,我使用Kotlin Exposed在我的postgresqldb上创建用于身份验证的表 这个表应该在我的数据库中的一个专用模式中,简单地说就是:authentication。很好,我可以使用以下方法定义和创建表: object UserTable: Table("authentication.user") { val id = integer("id").primaryKey().autoIncrement() val name = varchar("name", 200) v

Informatica:更新postgresql数据库的时间太长

从Informatica更新postgresql数据库需要花费大量时间。从客户端发出的查询很慢。可以进行任何配置更改以加快更新速度?没有足够的信息更新此配置。不过,在上述情况下— 1.请检查您是否在Informatica及其索引中使用了正确的键列。 2.检查odbc软件是否已更新。3。还要检查最终表格的大小。如果它很大,那么你必须需要一个索引。 3.还要检查插入或更新是否需要时间。如果在加载之前删除所有索引,并在加载之后重新创建,则插入速度可能会很快。您可以从pgadmin在target中触发一

在RAMdisk上进行PostgreSQL基准测试?

一段时间以来,我一直在考虑迁移到RAMdisk的想法。我知道它的风险,但只是想做一点基准测试。我刚才有两个问题:(a)在阅读查询计划时,它是否仍能区分磁盘和缓冲区命中率?如果是这样的话,我是应该假设两者都同样昂贵,还是应该假设两者之间存在差异? (b) RAM磁盘不是持久性的,但如果我想将一些结果导出到持久性存储,是否需要采取一些预防措施?是否与平常一样,例如复制命令?我不建议在PostgreSQL中使用RAM磁盘进行持久存储。通过仔细调整,您可以使PostgreSQL使用的磁盘I/O不会超过使

Postgresql Postgres-禁用查询的大小写

是否有任何标志或选项可以设置为禁止Postgres降低查询大小写?(即selectfirstname,lastName,…被Postgres转换为selectfirstname,lastName,…) 是的,我已经知道如果您使用双引号,它将保留大小写。我知道,由于这种恼人的行为,大多数人建议不要使用区分大小写的列,强制用户只使用Pascal命名模式以外的其他命名模式,比如snake命名模式。我不明白为什么这种行为是内置的。根据标准,SQL标识符必须不区分大小写,除非引用。所以,不,您不能改变这种

Postgresql SpringBoot&x2B;科特林+;博士后和JSONB:“;org.hibernate.MappingException:没有JDBC类型的方言映射;

为了处理运行Kotlin/SpringBoot应用程序时出现的以下错误(完整堆栈跟踪),我已经咨询了许多方法/帖子/堆栈溢出问题: 2020-04-22 18:33:56.823 ERROR 46345 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Er

Postgresql 带有WSO2流式积分器和Postgres DB的CDC

我正在尝试在WSO2流媒体集成商和本地Postgres DB之间设置更改数据捕获(CDC) 我已经将Postgres驱动程序(v42.2.5)添加到SI_HOME/lib中,并且我能够从Siddhi应用程序中读取数据库中的数据 我遵循这个示例来实现CDC,并使用pgoutput作为逻辑解码插件。但当我运行应用程序时,我会得到以下日志 [2020-04-23_19-02-37_460] INFO {org.apache.kafka.connect.json.JsonConverterCon

Postgresql Postgres:显示所有相关视图和表的查询(通过外键引用)

我想显示所有依赖于Postgres 13中源表任何列的视图和表。我已经找到了解决方案,但它只打印视图,而不打印可能包含一列的依赖表,该列将源表的任何列引用为外键。 仅适用于视图的解决方案是: SELECT dependent_ns.nspname as dependent_schema , dependent_view.relname as dependent_view , source_ns.nspname as source_schema , source_table.relname as

函数POSTGRESQL中的变量是否可能使用change operator=进行更改?

我不知道这是否可能,但这是个问题。如果paramvalue=0,我尝试更改操作符=by> AS $BODY$ declare operator text; begin operator:='='; if (paramvalue = 0) then operator:='>'; end if; select * from tablaname where id @operator 20 谢谢 我认为重载运算符比这种行为所需的更复杂。您可以尝试改用CASE语句 SELECT *