关于postgresql升级的信息

如何查看postgresql 版本升级

postgresql版本号前面的两个数字是他的大版本号,后面的一个数字是小版本号。大版本号相同的,数据文件格式都完全一样,比如你从8.4.6升级到8.4.7,只需要重新获得8.4.7的二进制文件,替换掉8.4.6的就可以了,因为数据文件一样,可以直接使用而如果从8.4.想升级到9.0版本,数据文件格式变动,上面方法则不适用,数据文件必须经过sql转储才可以继续使用。也可以这样理解,大版本号相当于windows具体的操作系统,而小版本号就是sp几,比如8.4是windowsvista,9.0是windows7,后面的数字则是只是他们的升级包而已。版本之间的具体区别和改动请参看releasenotes,这里有最新的

为元宝山等地区用户提供了全套网页设计制作服务,及元宝山网站建设行业解决方案。主营业务为成都网站设计、成都做网站、外贸网站建设、元宝山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

如何安装PostgreSQL 9.2.4 For Windows

rade_internal.log,有如下错误信息

connection to database failed: fe_sendauth: no password supplied

(5) 升级进程未结束再次运行pg_upgrade不成功

可以在进程管理中停止所有postgresql进程,然后重新进行升级

(6) 升级成功后,日志文件被自动删除,可以在命令行中用-r参数指定保留。

步骤7:恢复对配置文件(pg_hba.conf,postgresql.conf)进行的修改

主要是将鉴权方式修改回比较安全的模式

步骤8:升级后处理

升级完成后,pg_upgrade会提示需要运行脚本或批处理文件检查新数据库服务器及删除旧数据库服务器数据。

2019数据架构选型必读:1月数据库产品技术解析

本期目录

DB-Engines数据库排行榜

新闻快讯

一、RDBMS家族

二、NoSQL家族

三、NewSQL家族

四、时间序列

五、大数据生态圈

六、国产数据库概览

七、云数据库

八、推出dbaplus Newsletter的想法

九、感谢名单

为方便阅读、重点呈现,本期Newsletter(2019年1月)将对各个板块的内容进行精简。需要阅读全文的同学可点击文末 【阅读原文】 或登录

进行下载。

DB-Engines数据库排行榜

以下取自2019年1月的数据,具体信息可以参考,数据仅供参考。

DB-Engines排名的数据依据5个不同的因素:

新闻快讯

1、2018年9月24日,微软公布了SQL Server2019预览版,SQL Server 2019将结合Spark创建统一数据平台。

2、2018年10月5日,ElasticSearch在美国纽约证券交易所上市。

3、亚马逊放弃甲骨文数据库软件,导致最大仓库之一在黄金时段宕机。受此消息影响,亚马逊盘前股价小幅跳水,跌超2%。

4、2018年10月31日,Percona发布了Percona Server 8.0 RC版本,发布对MongoDB 4.0的支持,发布对XtraBackup测试第二个版本。

5、2018年10月31日,Gartner陆续发布了2018年的数据库系列报告,包括《数据库魔力象限》、《数据库核心能力》以及《数据库推荐报告》。

今年的总上榜数据库产品达到了5家,分别来自:阿里云,华为,巨杉数据库,腾讯云,星环 科技 。其中阿里云和巨杉数据库已经连续两年入选。

6、2018年11月初,Neo4j宣布完成E轮8000万美元融资。11月15日,Neo4j宣布企业版彻底闭源:

7、2019年1月8日,阿里巴巴以1.033亿美元(9000万欧元)的价格收购了Apache Flink商业公司DataArtisans。

8、2019年1月11日早间消息,亚马逊宣布推出云数据库软件,亚马逊和MongoDB将会直接竞争。

RDBMS家族

Oracle 发布18.3版本

2018年7月,Oracle Database 18.3通用版开始提供下载。我们可以将Oracle Database 18c视为采用之前发布模式的Oracle Database 12c第2版的第一个补丁集。未来,客户将不再需要等待多年才能用上最新版Oracle数据库,而是每年都可以期待新数据库特性和增强。Database 19c将于2019年Q1率先在Oracle cloud上发布云版本。

Oracle Database 18c及19c部分关键功能:

1、性能

2、多租户,大量功能增强及改进,大幅节省成本和提高敏捷性

3、高可用

4、数据仓库和大数据

MySQL发布8.0.13版本

1、账户管理

经过配置,修改密码时,必须带上原密码。在之前的版本,用户登录之后,就可以修改自己的密码。这种方式存在一定安全风险。比如用户登录上数据库后,中途离开一段时间,那么非法用户可能会修改密码。由参数password_require_current控制。

2、配置

Innodb表必须有主键。在用户没有指定主键时,系统会生成一个默认的主键。但是在主从复制的场景下,默认的主键,会对丛库应用速度带来致命的影响。如果设置sql_require_primary_key,那么数据库会强制用户在创建表、修改表时,加上主键。

3、字段默认值

BLOB、TEXT、GEOMETRY和JSON字段可以指定默认值了。

4、优化器

1)Skip Scan

非前缀索引也可以用了。

之前的版本,任何没有带上f1字段的查询,都没法使用索引。在新的版本中,它可以忽略前面的字段,让这个查询使用到索引。其实现原理就是把(f1 = 1 AND f2 40) 和(f1 = 2 AND f2 40)的查询结果合并。

2)函数索引

之前版本只能基于某个列或者多个列加索引,但是不允许在上面做计算,如今这个限制消除了。

5、SQL语法

GROUP BY ASC和GROUP BY DESC语法已经被废弃,要想达到类似的效果,请使用GROUP BY ORDER BY ASC和GROUP BY ORDER BY DESC。

6、功能变化

1)设置用户变量,请使用SET语句

如下类型语句将要被废弃SELECT @var, @var:=@var+1。

2)新增innodb_fsync_threshold

该变量是控制文件刷新到磁盘的速率,防止磁盘在短时间内饱和。

3)新增会话级临时表空间

在以往的版本中,当执行SQL时,产生的临时表都在全局表空间ibtmp1中,及时执行结束,临时表被释放,空间不会被回收。新版本中,会为session从临时表空间池中分配一个临时表空间,当连接断开时,临时表空间的磁盘空间被回收。

4)在线切换Group Replication的状态

5)新增了group_replication_member_expel_timeout

之前,如果某个节点被怀疑有问题,在5秒检测期结束之后,那么就直接被驱逐出这个集群。即使该节点恢复正常时,也不会再被加入集群。那么,瞬时的故障,会把某些节点驱逐出集群。

group_replication_member_expel_timeout让管理员能更好的依据自身的场景,做出最合适的配置(建议配置时间小于一个小时)。

MariaDB 10.3版本功能展示

1、MariaDB 10.3支持update多表ORDER BY and LIMIT

1)update连表更新,limit语句

update t1 join t2 on t1.id=t2.id set t1.name='hechunyang' limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

2)update连表更新,ORDER BY and LIMIT语句

update t1 join t2 on t1.id=t2.id set t1.name='HEchunyang' order by t1.id DESC limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

参考:

2、MariaDB10.3增补AliSQL补丁——安全执行Online DDL

Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!

有以下两种情况执行DDL操作会锁表的,Waiting for table metadata lock(元数据表锁):

针对第二种情况,MariaDB10.3增补AliSQL补丁-DDL FAST FAIL,让其DDL操作快速失败。

例:

如果线上有某个慢SQL对该表进行操作,可以使用WAIT n(以秒为单位设置等待)或NOWAIT在语句中显式设置锁等待超时,在这种情况下,如果无法获取锁,语句将立即失败。 WAIT 0相当于NOWAIT。

参考:

3、MariaDB Window Functions窗口函数分组取TOP N记录

窗口函数在MariaDB10.2版本里实现,其简化了复杂SQL的撰写,提高了可读性。

参考:

Percona Server发布8.0 GA版本

2018年12月21日,Percona发布了Percona Server 8.0 GA版本。

在支持MySQL8.0社区的基础版上,Percona Server for MySQL 8.0版本中带来了许多新功能:

1、安全性和合规性

2、性能和可扩展性

3、可观察性和可用性

Percona Server for MySQL 8.0中将要被废用功能:

Percona Server for MySQL 8.0中删除的功能:

RocksDB发布V5.17.2版本

2018年10月24日,RocksDB发布V5.17.2版本。

RocksDB是Facebook在LevelDB基础上用C++写的高效内嵌式K/V存储引擎。相比LevelDB,RocksDB提供了Column-Family,TTL,Transaction,Merge等方面的支持。目前MyRocks,TiKV等底层的存储都是基于RocksDB来构建。

PostgreSQL发布11版本

2018年10月18日,PostgreSQL 11发布。

1、PostgreSQL 11的重大增强

2、PostgreSQL 插件动态

1)分布式插件citus发布 8.1

citus是PostgreSQL的一款sharding插件,目前国内苏宁、铁总、探探有较大量使用案例。

2)地理信息插件postgis发布2.5.1

PostGIS是专业的时空数据库插件,在测绘、航天、气象、地震、国土资源、地图等时空专业领域应用广泛。同时在互联网行业也得到了对GIS有性能、功能深度要求的客户青睐,比如共享出行、外卖等客户。

3)时序插件timescale发布1.1.1

timescale是PostgreSQL的一款时序数据库插件,在IoT行业中有非常好的应用。github star数目前有5000多,是一个非常火爆的插件。

4)流计算插件 pipelinedb 正式插件化

Pipelinedb是PostgreSQL的一款流计算插件,使用这个创建可以对高速写入的数据进行实时根据定义的聚合规则进行聚合(支持概率计算),实时根据定义的规则触发事件(支持事件处理函数的自定义)。可用于IoT,监控,FEED实时计算等场景。

3、PostgreSQL衍生开源产品动态

1)agensgraph发布 2.0.0版本

agensgraph是兼容PostgreSQL、opencypher的专业图数据库,适合图式关系的管理。

2)gpdb发布5.15

gpdb是兼容PostgreSQL的mpp数据库,适合OLAP场景。近两年,gpdb一直在追赶PostgreSQL的社区版本,预计很快会追上10的PostgreSQL,在TP方面的性能也会得到显著提升。

3)antdb发布3.2

antdb是以Postgres-XC为基础开发的一款PostgreSQL sharding数据库,亚信主导开发,开源,目前主要服务于亚信自有客户。

4)迁移工具MTK发布52版本

MTK是EDB提供的可以将Oracle、PostgreSQL、MySQL、MSSQL、Sybase数据库迁移到PostgreSQL, PPAS的产品,迁移速度可以达到100万行/s以上。

DB2发布 11.1.4.4版本

DB2最新发布Mod Pack 4 and Fix Pack 4,包含以下几方面的改动及增强:

1、性能

2、高可用

3、管理视图

4、应用开发方面

5、联邦功能

6、pureScale

NoSQL家族

Redis发布5.0.3版本

MongoDB升级更新MongoDB Mobile和MongoDB Stitch

2018年11月21日,MongoDB升级更新MongoDB Mobile和MongoDB Stitch,助力开发人员提升工作效率。

MongoDB 公司日前发布了多项新产品功能,旨在更好地帮助开发人员在世界各地管理数据。通过利用存储在移动设备和后台数据库的数据之间的实时、自动的同步特性,MongoDB Mobile通用版本助力开发人员构建更快捷、反应更迅速的应用程序。此前,这只能通过在移动应用内部安装一个可供选择或限定功能的数据库来实现。

MongoDB Mobile在为客户提供随处运行的自由度方面更进了一步。用户在iOS和安卓终端设备上可拥有MongoDB所有功能,将网络边界扩展到其物联网资产范畴。应用系统还可以使用MongoDB Stitch的软件开发包访问移动客户端或后台数据,帮助开发人员通过他们希望的任意方式查询移动终端数据和物联网数据,包括本地读写、本地JSON存储、索引和聚合。通过Stitch移动同步功能(现可提供beta版),用户可以自动对保存在本地的数据以及后台数据库的数据进行同步。

本期新秀:Cassandra发布3.11.3版本

2018年8月11日,Cassandra发布正式版3.11.3。

Apache Cassandra是一款开源分布式NoSQL数据库系统,使用了基于Google BigTable的数据模型,与面向行(row)的传统关系型数据库或键值存储key-value数据库不同,Cassandra使用的是宽列存储模型(Wide Column Stores)。与BigTable和其模仿者HBase不同,数据并不存储在分布式文件系统如GFS或HDFS中,而是直接存于本地。

Cassandra的系统架构与Amazon DynamoDB类似,是基于一致性哈希的完全P2P架构,每行数据通过哈希来决定应该存在哪个或哪些节点中。集群没有master的概念,所有节点都是同样的角色,彻底避免了整个系统的单点问题导致的不稳定性,集群间的状态同步通过Gossip协议来进行P2P的通信。

3.11.3版本的一些bug fix和改进:

NewSQL家族

TiDB 发布2.1.2版本

2018 年 12 月 22 日,TiDB 发布 2.1.2 版,TiDB-Ansible 相应发布 2.1.2 版本。该版本在 2.1.1 版的基础上,对系统兼容性、稳定性做出了改进。

TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品。除了底层的 RocksDB 存储引擎之外,分布式SQL层、分布式KV存储引擎(TiKV)完全自主设计和研发。

TiDB 完全开源,兼容MySQL协议和语法,可以简单理解为一个可以无限水平扩展的MySQL,并且提供分布式事务、跨节点 JOIN、吞吐和存储容量水平扩展、故障自恢复、高可用等优异的特性;对业务没有任何侵入性,简化开发,利于维护和平滑迁移。

TiDB:

PD:

TiKV:

Tools:

1)TiDB-Lightning

2)TiDB-Binlog

EsgynDB发布R2.5版本

2018年12月22日,EsgynDB R2.5版本正式发布。

作为企业级产品,EsgynDB 2.5向前迈进了一大步,它拥有以下功能和改进:

CockroachDB发布2.1版本

2018年10月30日,CockroachDB正式发布2.1版本,其新增特性如下:

新增企业级特性:

新增SQL特性:

新增内核特性:

Admin UI增强:

时间序列

本期新秀:TimescaleDB发布1.0版本

10月底,TimescaleDB 1.0宣布正式推出,官方表示该版本已可用于生产环境,支持完整SQL和扩展。

TimescaleDB是基于PostgreSQL数据库开发的一款时序数据库,以插件化的形式打包提供,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。

TimescaleDB架构:

数据自动按时间和空间分片(chunk)

更新亮点:

大数据生态圈

Hadoop发布2.9.2版本

2018年11月中旬,Hadoop在2.9分支上发布了新的2.9.2版本,该版本进行了204个大大小小的变更,主要变更如下:

Greenplum 发布5.15版本

Greenplum最新的5.15版本中发布了流式数据加载工具。

该版本中的Greenplum Streem Server组件已经集成了Kafka流式加载功能,并通过了Confluent官方的集成认证,其支持的主要功能如下:

国产数据库概览

K-DB发布数据库一体机版

2018年11月7日,K-DB发布了数据库一体机版。该版本更新情况如下:

OceanBase迁移服务发布1.0版本

1月4日,OceanBase 正式发布OMS迁移服务1.0版本。

以下内容包含 OceanBase 迁移服务的重要特性和功能:

SequoiaDB发布3.0.1新版本

1、架构

1)完整计算存储分离架构,兼容MySQL协议、语法

计算存储分离体系以松耦合的方式将计算与存储层分别部署,通过标准接口或插件对各个模块和组件进行无缝替换,在计算层与存储层均可实现自由的弹性伸缩。

SequoiaDB巨杉数据库“计算-存储分离”架构详细示意

用户可以根据自身业务特征选择面向交易的SQL解析器(例如MySQL或PGSQL)或面向统计分析的执行引擎(例如SparkSQL)。众所周知,使用不同的SQL优化与执行方式,数据库的访问性能可能会存在上千上万倍的差距。计算存储分离的核心思想便是在数据存储层面进行一体化存储,在计算层面则利用每种执行引擎的特点针对不同业务场景进行选择和优化,用户可以在存储层进行逻辑与物理的隔离,将面向高频交易的前端业务与面向高吞吐量的统计分析使用不同的硬件进行存储,确保在多类型数据访问时互不干扰,以真正达到生产环境可用的多租户与HTAP能力。

2、其他更新信息

1)接口变更:

2)主要特性:

云数据库

本期新秀:腾讯发布数据库CynosDB,开启公测

1、News

1)腾讯云数据库MySQL2018年重大更新:

2)腾讯云数据库MongoDB2018年重大更新:

3)腾讯云数据库Redis/CKV+2018年重大更新:

4)腾讯云数据库CTSDB2018年重大更新:

2、Redis 4.0集群版商业化上线

2018年10月,腾讯云数据库Redis 4.0集群版完成邀测、公测、商业化三个迭代,在广州、上海、北京正式全量商业化上线。

产品特性:

使用场景:

官网文档:

3、腾讯自研数据库CynosDB发布,开启公测

2018年11月22日,腾讯云召开新一代自研数据库CynosDB发布会,业界第一款全面兼容市面上两大最主流的开源数据库MySQL和PostgreSQL的高性能企业级分布式云数据库。

本期新秀:京东云DRDS发布1.0版本

12月24日,京东云分布式关系型数据库DRDS正式发布1.0版本。

DRDS是京东云精心自研的数据库中间件产品,获得了2018年 ”可信云技术创新奖”。DRDS可实现海量数据下的自动分库分表,具有高性能,分布式,弹性升级,兼容MySQL等优点,适用于高并发、大规模数据的在线交易, 历史 数据查询,自动数据分片等业务场景,历经多次618,双十一的考验,已经在京东集团内大规模使用。

京东云DRDS产品有以下主要特性

1)自动分库分表

通过简单的定义即可自动实现分库分表,将数据实际存放在多个MySQL实例的数据库中,但呈现给应用程序的依旧是一张表,对业务透明,应用程序几乎无需改动,实现了对数据库存储和处理能力的水平扩展。

2)分布式架构

基于分布式架构的集群方案,多个对等节点同时对外提供服务,不但可有效规避服务的单点故障,而且更加容易扩展。

3)超强性能

具有极高的处理能力,双节点即可支持数万QPS,满足用户超大规模处理能力的需求。

4)兼容MySQL

兼容绝大部分MySQL语法,包括MySQL语法、数据类型、索引、常用函数、排序、关联等DDL,DML语句,使用成本低。

参考链接:

RadonDB发布1.0.3版本

2018年12月26日,MyNewSQL领域的RadonDB云数据库发布1.0.3版本。

推出dbaplus Newsletter的想法

dbaplus Newsletter旨在向广大技术爱好者提供数据库行业的最新技术发展趋势,为社区的技术发展提供一个统一的发声平台。为此,我们策划了RDBMS、NoSQL、NewSQL、时间序列、大数据生态圈、国产数据库、云数据库等几个版块。

我们不以商业宣传为目的,不接受任何商业广告宣传,严格审查信息源的可信度和准确性,力争为大家提供一个纯净的技术学习环境,欢迎大家监督指正。

至于Newsletter发布的周期,目前计划是每三个月左右会做一次跟进, 下期计划时间是2019年4月14日~4月25日, 如果有相关的信息提供请发送至邮箱:newsletter@dbaplus.cn

感谢名单

最后要感谢那些提供宝贵信息和建议的专家朋友,排名不分先后。

往期回顾:

↓↓别忘了点这里下载 2019年1月 完整版Newsletter 哦~

GitLab 12.0发布,大力加强安全功能,包括可视审阅和依赖列表

日前Gitlab博客宣布发布GitLab的又一个里程碑大版本12.0。该版本主推基于全栈DevOps的全供应链安全DevSecOps,从而实现真正意义上的开发,运维和安全的有机集成。另外代码审阅一直是Gitlab比较重点突击加强的功能新版本在可视化方面做了很多事情,可以极大快速提高代码审阅流程。另外还有项目依赖列表、基于IP ACL限制能安全功能方面的功能,更多的功能请跟着虫虫一起 探索 。

GitLab在用户级别整个单个用户的合并请求并自动创建审阅预览界面(Review App)。该功能可以让每一个用户都能知道设计或UX是如何改变的。

GitLab 12.0在Review App中加入将可视化审阅工具直,拓展变更审议的能力。通过一个小代码片段,用户可以使设计人员,产品经理和其他相关人员能够快速提供有关合并请求的反馈,而无需离开应用程序。

ULTIMATE版本新版本在项目左侧边栏菜单可以列出项目的依赖关系列表(有时称为物料清单或物BOM)。

BOM可以表明项目中包含哪些组件,安全团队和合规性团队通常会审查这些依赖的组件确保没有安全问题。可以浏览相关报告,并且支持以JSON格式导出。

限制Gitlab界面的访问一直都是大家很急需的功能,新版本商业版本中支持在Gitlab中进行IP(段)限制,加入黑名单机制限制访问IP,设置更加灵活,可以自建实例可以在组级别上设置限制。(当然可以通过nginx进行IP限制,方法需要可以联系)

在GitLab 12.0中,Web IDE中的更改可以自动同步到Web终端,在提交更改之前,可以在Web终端中对其进行测试。该功能可以降低新贡献者的入门门槛,因为他们无需安装项目的本地依赖项即可查看,编辑和测试。

通过GitLab的Kubernetes集成部署JupyterHub是一种简单方便地Jupyter Notebook环境构建。利用该环境可以创建和实时代码分享,可视化、运行以后books文件。

GitLab 12.0中如果通过Gitlab、K8s部署JupyterHub到集群时,会自动安装配置JupyterLab的Git扩展。然后通过Git对环境进行完全版本控制,在Jupyter中执行Git命令。可以通过左侧面板上的Git选项卡或通过Jupyter的命令行提示符执行。

通过extends关键字,把不同内容分割为不同文件在引入,可以保持用户CI/CD配置文件整洁。在GitLab 12.0中,可以允许用户在单个作业中包含多个扩展片段来改进此功能,并且通过多个扩展,可以实现整洁简化的CI配置(处女座管理员必备)。

在GitLab 12.0中新添加了GitLab CI/CD作业扩展和折叠日志的输出。用户可以更轻松地调试作业中的某些步骤,并在需要时浏览整体步骤。

gitlab公开了漏洞数据库项目(/gitlab-org/security-products/gemnasium-db)。用户可以查看具体条目并验证感兴趣的漏洞,也支持用户一起参与完善该咯多干数据库。

依靠LDAP的组织通常需要于GitLab同步以进行权限管理。在GitLab 12.0中,实例可以阻止具有实例级设置的非管理员在LDAP之外进行权限更改。通过该方法,具有合规性的组织可以使用这个选项来确保LDAP中的权限映射到Gitlab实例,而不能由非实例管理员的用户修改。

GitLab Ultimate 11.9(功能标志)中引入的GitLab Insights现在在GitLab Ultimate 12.0中默认启用。

可以统计项目中重要的数据的统计,比如给定时间段创建/关闭的问题,合并请求的平均合并时间等等。

在GitLab 11.8中,引入了从上游桥接作业触发下游管道的功能。还介绍了将变量传递给下游管道的基本支持。在GitLab 12.0中新增加支持将当前环境变量传递到下游管道。可以允许用户向下游管道提供上下文以及提交,合并请求或触发它的管道的其他细节。

在GitLab 11.11中,启动了依赖代理的MVC,它允许用户下载和缓存Docker镜像,以便更快,更可靠地下载。在GitLab 12.0中,在组级别默认启用了该功能。

Container Registry API允许GitLab用户以编程方式轻松管理注册。GitLab 12.0中更新了权限模型,以允许开发人员删除标签。

在GitLab 12.0中,当重新打包Git存储库时,bitmap缓存将保存在bitmap索引中。缓存提高了重打包性能。(3.5.0之前的 JGit 版本与bitmap不兼容)

在此版本之前,GitLab无服务器功能只能在通过GitLab安装的Knative上使用。在GitLab 12.0中以安装的Knative被GitLab Serverless利用。可以手动添加现有Knative集群,将相关的无服务器模板添加到项目中。所以GitLab Serverless可与托管的Knative产品一起使用,例如Google的GKE上的Cloud Run或在IBM托管的Knative服务。

从GitLab 12.0开始,可以直接从GitLab的环境仪表板中提供并轻松访问外部仪表板。

现有的用于讨论合并请求和问题的设计涉及许多框和边界,难以对对话进行跟踪。在新版本中,对此做了重新设计来增强用户的讨论体验。

动态应用程序安全性测试(DAST)不再需要在Docker中使用Docker来运行。因此,DAST Docker镜像(3GB)现在将在Runners上缓存。(注意镜像每周更新一次,因此缓存将在每周一失效)。

在12.0中,添加了为群组通知设置电子邮件地址的功能。可以让用户将组通知发送到不同的电子邮件地址。例如,工作组的工作电子邮件地址和个人组的个人电子邮件地址(个人设置项目里面有电子邮件菜单用以添加邮件地址)。

在解除扫描程序发现的漏洞时,新添加一个字段可用于添加详细说明此漏洞被解除的原因。

这将使安全团队和开发人员能够查看 历史 记录并了解未修复项目的原因。

由于审计等原因可能希望确保项目(可能包括存储库中的重要代码)只能存档,而不会被删除和永久丢失。新版本可以通过实例级设置来防止非管理员删除项目。

自GitLab 8.9起,GitLab CI/CD通过在作业定义中指定GIT_DEPTH变量来支持浅git克隆。新版本中添加了在项目级别设置clone深度的功能,项目维护者可设置默认为浅层克隆。浅Git克隆比每次克隆整个Git存储库更快,如果CI/CD作业设置为构建最新代码,通常浅的克隆就足够了。

同样在GitLab 12.0中,默认情况下,在GitLab中创建的新项目在创建时的GIT_DEPTH设置为50。该默认设置将帮助用户使用GitLab CI/CD实现更快的克隆和构建时间,同时仍允许高级用户在不同类型的CI/CD用例需要时更改此设置。

Fork工作流程创建一个副本,用户修改该副本并合并到上游项目,从而轻松地加速了协作,这也是Github等Git项目得以流行的功能。但是对一个热门的项目,可能会存在数以千计的副本,存储这些副本需要消耗大量的服务器资源。

GitLab 12.0中,实例管理员可以使用object_pools功能标志启用Git对象重复数据删除。启用后,创建公共分支也将创建对象池并使用objects/info/ alternates来减少分叉的存储要求。对象重复数据删除需要启用散列存储,并且父项目要使用散列存储。现有的forks还没有自动迁移到对象池。在后续即将将发布的版本中,会通过直接在重复数据删除状态下创建fork来实现快速fork。当前版本还需要首先创建fork,然后进行重复数据删除。

从2019年5月30日起,GitLab在线git服务已启用对象重复数据删除。自建实例但默认情况下关闭该功能,因为在获取时会显示重复警告。

手动添加Kubernetes集群需要输入多个数据点,并且容易出错。为了在手动添加集群解决访问和权限问题,kubernetes集成支持将验证API URL的可访问性以及集群令牌和CA证书的有效性。

在GitLab 12.0中,过Zoom电话会议轻松与团队成员就问题进行协作。在问题说明中粘贴会议链接。 GitLab将检测链接并在标题下方的顶部显示"加入Zoom会议"按钮,使其显示给所有协作者。

用户能够在问题中定义任务,并且该信息在整个应用程序的各个位置会显示。在GitLab 12.0中,用户可以通过API返回任务进度信息。

之前版本用户无法从问题API获取详细的问题统计信息。在GitLab 12.0中添加了返回所有、已关闭和已打开状态的问题统计的功能。

GitLab 12.0中Omnibus改进包括:

引入Mattermost 5.11,这是一个开源的Slack替代品,其最新版本包括一个新的远程CLI工具,及更多功能。此版本还包括安全更新,尽快升级到新版本来。

默认情况下启用JSON日志记录。

omnibus-gitlab默认会启用Grafana服务。此外,现在已经实现GitLab和Grafana自动启用OAuth身份验证。

使用一些直接检测的ruby指标改进了GitLab指标

GitLab还同期发布了GitLab Runner 12.0。主要变化如下:

Docker Credentials帮助程序支持;

在注册时为跑步者添加access_level配置;

允许Kubernetes Executor配置Pod安全上下文;

为新注册的Windows shell执行程序设置PowerShell默认值;

支持Windows docker卷配置。

同时GitLab Runner 12.0版本,也删除了一些此前弃用的东西:

删除已弃用的clone/fetch命令

删除已弃用的git clean策略

删除对已弃用的metrics_server设置的支持

删除对K8S的已弃用入口点配置的支持

删除对已弃用的S3缓存配置的支持

删除对已弃用分发的支持

删除旧的docker helper image命令

可以在GitLab Runner的CHANGELOG中找到所有更改的列表。

GitLab 12.0在性能方面的一些改进包括:

epics列表页面系能做了性能大幅度优化。

避免为Elasticsearch结果访问数据库,避免两次针对搜索结果点击Elasticsearch。

批量提交文档到ElasticSearch索引;

缓存在提交消息中呈现Markdown以提高列表提交的性能;

提高每次推送的存储库大小限制检查的性能;

使用长描述加载问题或合并请求时提高性能;

通过建议的更改提高合并请求的性能;

重新打包Git存储库时,通过使用delta岛来提高性能并减少克隆的CPU使用率;

提高监控图表的性能;

修复ListLastCommit RPC上的Git N+1;

使用--perl-regexp提高Git代码搜索性能;

通过修复Git N + 1来提高JobsController的性能;

GitLab的主要维护版本版本这中,删除对GitLab 9.x的支持。最低支持版本提高到GitLab 10.0。

启用日期:2019年6月22日

在GitLab 12.0,GitLab Geo需要使用Hashed Storage来缓解辅助节点上的竞争条件。请使用"sudo gitlab-rake gitlab:geo:check"检查是否启用了Hashed Storage并迁移了所有项目。

迁移日期:2019年6月22日

在GitLab 12.0中,Geo需要PostgreSQL外部数据包装器,将最低PostgreSQL版本提高到9.6。 GitLab Geo使用PostgreSQL Foreign Data Wrapper来查询来自不同PostgreSQL实例的数据。这是Geo Log Cursor所必需的,可以显著提高了某些同步操作的性能。 Foreign Data Wrapper还提高了Geo节点状态查询的性能。对于大型项目,遗留查询具有不可接受的性能。

迁移日期:2019年6月22日

在GitLab 12.1中将删除Kubernetes部署选择器的应用程序标签匹配(删除最初计划为12.0)。在GitLab 11.10的一部分,gitlab引入了一种新的匹配机制,它使用app.gitlab.com/app和app.gitlab.com/env来展示部署板上的部署。要在部署板中查看这些部署,需要做的就是推送新部署,GitLab将使用新标签进行部署。

移除日期:2019年6月22日

新的KUBE_INGRESS_BASE_DOMAIN环境变量在GitLab 11.8部分引入。不再需要使用AUTO_DEVOPS_DOMAIN来定义多个域,因为现在可以在群集页面上单独定义这些域。

移除日期:2019年6月22日

在GitLab 12.1中计划删除实例级Kubernetes服务模板,以支持在GitLab 11.11中引入的实例级集群功能。

作为升级到GitLab 12.0的一部分,任何使用服务模板的自建gitlab实例都将迁移到实例级集群。

移除日期:2019年6月22日

在GitLab 12.0中完全删除了对skip_auto_migrations文件的支持。该文件在GitLab 10.6中已被弃用。

移除日期:2019年6月22日

GitLab 12.0中完全取消了对Prometheus 1.x的支持。

移除日期:2019年6月22日

openSUSE 42.3将于2019年6月30日到期。gitlab将会在12.2中放弃支持。

移除日期:2019年8月22日

GitLab 11.9开始GitLab Runner一直在使用一种新方法来克隆/获取存储库。在目前版本,如果不支持新方法,GitLab Runner将使用旧方法。

在GitLab 11.0中,我们更改了为GitLab Runner配置度量服务器的方式。 metrics_server已被删除,转而使用GitLab 12.0中的listen_address。

在11.3中,GitLab Runner开始支持多个缓存提供程序。这导致特定于S3的配置的新设置。

GitLab 12.0中将不再提供这些路径。对于从11.9+以上的用户,直接升级不会有任何影响。

弃用日期:2019年6月22日

在GitLab 11.4中,GitLab Runner引入了一个功能标志FF_K8S_USE_ENTRYPOINT_OVER_COMMAND。在GitLab 12.0中,将删除这些功能标志。

移除日期:2019年6月22日

GitLab Runner中一些Linux发行版已达到End of Life支持。GitLab 12.0中,GitLab Runner不再提供专门分发包给过期的Linux发行版。

弃用日期:2019年6月22日

作为添加对Windows Docker执行程序的支持的一部分,需要弃用一些用于帮助程序镜像的旧命令。在GitLab 12.0中,GitLab Runner开始使用新命令。这仅影响覆盖帮助程序镜像的用户。

迁移日期:2019年6月22日

使用GitLab Runner 11.10引入了一种配置Runner如何执行git clean命令的方法。新的清理策略删除了git reset的使用,并在checkout之后删除了git clean命令。在GitLab Runner 12.0中,GitLab Runner放弃了对旧版清理策略的支持,并删除了使用功能标志设置恢复该功能的方法。

弃用日期:2019年6月22日

许可证管理做了重新命名以便更好地与GitLab 12.0中的常见行业用语一致。许可证合规性的目的是分析应用程序,跟踪第三方组件(如库和外部依赖项)使用的许可证,并检查它们是否与项目的许可模型兼容。许可证合规性安全软件组合分析组的一部分。

迁移日期:2019年6月22日

命令行参数--auth-first-page,不再受支持,需要删除此参数。

DEP_SCAN_DISABLE_REMOTE_CHECKS标志变量,不再受支持,需要删除此参数。

GITLAB_FEATURES环境变量中的sast_container值,必须更改为container_scanning。

迁移日期:2019年6月22日

新版本不再更新在项目管道中配置安全功能时使用的文档中安全手动配置代码段。请使用include: template: Dependency-Scanning.gitlab-ci.yml配置中使用Secure的include。

弃用日期:2019年6月22日

为了缓解这种情况,默认情况下将禁用前进3DES。对于现代浏览器的用户,这不应该改变任何内容,但是在Windows XP操作系统上运行的Internet Explorer版本7和8的某些用户可能会受到影响。

弃用日期:2019年6月22日

GitLab 12.0是支持MySQL(和MariaDB)的最后一个版本。用户需要迁移到PostgreSQL才能使用未来版本。 MySQL已被弃用,对它的支持以前仅限于Enterprise Edition Starter和Premium。

弃用日期:2019年7月22日

GitLab 12.1中的UI中会删除这些设置,该策略已在GitLab 11.11中的gitlab.yml中提供。此外,还可以定义Sentry环境,以区分开发,stagin和生产等多个部署。

迁移日期:2019年7月22日

当我们在GitLab 11.6中引入组级项目模板时,将该功能扩大化了。通过给予低于Silver/Premium的现有用户/实例三个月的宽限期来修复GitLab 11.11中的这个错误。2019年8月22日,此宽限期将到期,组项目模板将需要Silver/ remium或更高版本。

迁移日期:2019年8月22日

如果使用Python 2的用户在开始使用GitLab 12.2时进行自我管理,则需要将CI变量LM_PYTHON_VERSION设置为"2"。使用Python 3的用户现在可以将CI变量LM_PYTHON_VERSION更改为"3"。

迁移日期:2019年8月22日

在GitLab 12.3计划弃用GitLab Runner中的Windows批处理命令行作业(例如cmd.exe),以支持对Windows PowerShell的扩展和扩展支持。对于可能仍希望针对cmd.exe运行项目的用户,可以从PowerShell调用这些命令,但不会为Windows批处理提供直接支持。

弃用日期:2019年9月22日

使用GitLab Runner 11.10,当使用Docker和Docker Machine执行程序已更改了共享卷中缓存作业目录部分。 GitLab Runner现在缓存使用builds_dir配置的整个基本目录,而不是仅缓存作业工作目录的父目录。因为它是一个行为改变,我们添加了一个功能标志,允许控制是否应该使用新的或旧的行为。在GitLab Runner 12.3,将删除功能标志和旧有行为。

迁移日期:2019年9月22日

Python 2.7在2020年1月1日达到其生命周期,因此将在未来的GitLab版本中删除对Python 2的支持。

迁移日期:2019年12月22日

如果使用Omnibus安装自建实例,通过发行版办的包管理器直接升级即可:

比如CentOS下可以直接通过yum updata gitlab-ce自动完成升级过程。

GitLab 12.0将Enterprise Edition多年来进行的数据库更改合并到Community Edition中。作为这项工作的一部分,还删除了各种旧迁移。升级到GitLab 12的用户必须先升级到最新的 11.11 补丁版本,然后再升级到 12.0.0 。升级到12.1.0等未来版本时,用户必须先升级到12.0.0。如果不按照此顺序升级可能会导致数据迁移未成功,从而导致应用程序错误。 Omnibus安装会先强制升级到12.0.0。 通过源码安装用户必须按照这个顺序受手动处理 (XX- 11.11-12.0 -YY)。

GitLab 12.0默认使用Hashed Storage。这会影响新安装。

GitLab 12.0将自动将PostgreSQL版本升级到10.0。

用户可以跳过PostreSQL 10.0的自动升级,创建/etc/gitlab/ disable-postgresql-upgrade。

如果使用GitLab Geo,将在主节点和所有辅助节点上跳过自动PostgreSQL升级。我们将在12.1中为Geo用户提供升级路径。

默认情况下,GitLab 12.0将启用JSON日志记录。并提供了保留以前非JSON的日志格式的设置文档。

求助,升级了一下两年没升级的 archlinux,postgresql 挂了

1、尽量只安装官方源仓库的,如需要安装第三方,最好先在VM环境做好测试,或者到论坛查看询问相关问题; 2、在升级前做好系统备份,如出现问题可以及时恢复。

如何实现Postgresql数据库的重装与postgres密码重置

相信如果你在重新安装或者升级Postgresql数据库的时候都需要你输入在第一次安装时候的密码,这个密码往往我们都会忘记,那么万一忘记了该咋办?难道真就不能安装了?答案当然是否定的。在项目中,本人就遇到过这样的情况,一番摸索过后发现终于发现其中的奥秘,首先,Postgresql 安装时,会往用户组中添加一个postgresql用户,而这个用户就是阻止你密码验证不能通过的罪魁祸首,好吧,将其删除,再试试呢,成功了。别急,有些时候,你在安装的时候还会报一些错误,我同事就遇到此类情况,最后发现Postgresql 还会在当前用户下记录一下信息,比如管理工具的默认用户名和密码等信息,密码是不加密的哦!!以我的Win 7 32bit Enterprise version 为例,我的用户为:Abc_Zhou,则在C:\Users\abc_zhou\AppData\Roaming folder下看到有postgresql,删掉吧,好了,至此,你将能够完全安装成功了。

有时候在不知道密码的情况下如何能够使用数据库呢?当然前提是你知道用户名。这个是比较纠结的问题,用以上方法重装?显然不行,谁能保证我的数据呢。别急,咱们也有办法,首先,来到数据库的安装目录data文件夹下面,我的是9.0.4 version,路径为(PostgreSQL\9.0\data),然后找到pg_hba.conf文件,在最下放有一下几句话:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 md5

# IPv6 local connections:

host all all ::1/128 md5

好吧,将所有的md5修改称为trust,重启数据库服务,再去界面登录看看,记住不要输入密码哦。当你登录成功了之后难道想改个密码还不容易?

Alter user 'postgres' with password '123456';

至此,重新把method改回md5吧,重启服务,使用刚刚修改的密码登录,果断成功了。

好了,到此基本上完成我们的全部需求了,可是,有时候我们又不想改掉原本的密码,或许系统中还会有其他软件使用此用户呢。好,那还不简单,重新创建一个用户不就得了,不错好方法。但是我要告诉你一个更绝的办法,就是如果有人在管理工具中登录并保存过密码,那你就可以通过以下文件直接找出密码:C:\AllUsers\abc_zhou\AppData\postgresql 中的pgpass.conf 文件(机器环境同上),记事本打开就ok了,是不是可以看到密码了,就是这么简单。


新闻标题:关于postgresql升级的信息
链接分享:http://azwzsj.com/article/dscoohj.html