Postgresql 续集关于设置时区和客户端\u min\u消息的默认查询

Postgresql 续集关于设置时区和客户端\u min\u消息的默认查询,postgresql,sequelize.js,Postgresql,Sequelize.js,我对这个问题有一个疑问: 将客户端消息设置为警告;设置时区间隔“+00:00”小时到分钟 当我在postgres中执行查询时:从pg_stat_活动中选择查询,我经常在执行我定义的查询之前看到这个查询。我想禁用查询。我的列有一个带有时区的时间戳,但我的默认时区是UTC。我能做些什么来移除它?它会影响性能吗?SET用于设置运行时参数,而不是查询数据库。我甚至不能用SET运行解释分析;基于编程的复杂性,我们期望时间类似于最短的查询。我怀疑它对性能的影响是有意义的,但是可以肯定的是,一些字节正在被传递

我对这个问题有一个疑问:

将客户端消息设置为警告;设置时区间隔“+00:00”小时到分钟

当我在postgres中执行查询时:从pg_stat_活动中选择查询,我经常在执行我定义的查询之前看到这个查询。我想禁用查询。我的列有一个带有时区的时间戳,但我的默认时区是UTC。我能做些什么来移除它?它会影响性能吗?

SET用于设置运行时参数,而不是查询数据库。我甚至不能用SET运行解释分析;基于编程的复杂性,我们期望时间类似于最短的查询。我怀疑它对性能的影响是有意义的,但是可以肯定的是,一些字节正在被传递和解析

这些命令来自Sequelize的。它们是在启动连接时通过以下方式生成的:

如果this.sequelize.options.clientMinMessages!==假的{ query+=`将客户端消息设置为${this.sequelize.options.clientMinMessages};`; } 如果this.sequelize.config.keepDefaultTimezone{ const isZone=!!moment.tz.zonethis.sequelize.options.timezone; if isZone{ query+=`SET timezone'${this.sequelize.options.timezone}';`; }否则{ query+=`SET timezone INTERVAL'${this.sequelize.options.timezone}'小时到分钟;`; } } 因此,您可以在options对象中使用clientMinMessages:false、keepDefaultTimezone:true调用new Sequelize ; keepDefaultTimezone的文档较少

我还没有分析这些。设置了UTC时区后,keepDefaultTimezone似乎是安全的。请注意,如果Sequelize没有将postgres client_min_messages设置为WARNING,postgres可能会默认为略低的通知阈值,并将一些额外的消息发送回Sequelize。这些调整是否值得追求将取决于您的系统