Apache年龄指南1.3.0发布PostgreSQL 13
#postgres #database #db #apacheage

介绍

Apache Age 是PostgreSQL数据库管理系统的开源扩展。这是世界上第一个在传统的关系数据库系统中运行的图形数据库扩展程序,将图形数据库的功率和多功能性汇总在一起,具有PostgreSQL的可靠性和可扩展性。

最近,Apache Age发布了其最新版本1.3.0,其中包含许多新功能,性能改进和错误修复。在本指南中,我们将仔细研究Apache Apache ofe 1.3.0版本的新功能。

要求

注意:如果您尚未在计算机上安装年龄/postgresql堆栈,则需要使用Postgrsql 11和年龄1.1.0 最新版本进行相同的过程以比较以前和新的版本更改:)

[讨论] apache of for Postgresql 13说:

NOTE: Due to this being the first release for PostgreSQL 13, there is no
upgrade path from other versions.

这意味着我们只有单个SQL脚本名为age-1.3.0.sql

设置

Postgresql 13和1.3.0岁

让我们创建一个名为Bitnine的目录,并在内部进行测试和报告

mkdir bitnine

让我们从自定义路径中的PostgreSQL 13安装
参考:https://www.postgresql.org/docs/13/install-short.html

  1. https://www.postgresql.org/ftp/source/v13.0/下载源代码
  2. 将下载文件移至bitnine,然后将源代码提取到
  3. 请按照以下命令
# move the source code to our new created directory
mv ~/Downloads/postgresql-13.0.tar.gz ~/bitnie/
# change directory to bitnine 
cd ~/bitnine
# extract the source code
tar xzf postgresql-13.0.tar.gz
# make directory for having the build of the postgres
mkdir pg13
# make directory for holding the data
mkdir pg13data
# go to postgresql-13.0
cd postgresql-13.0
# configure the source code build
./configure --prefix=/home/rrr/bitnine/pg13 --enable-debug --with-pgport=5431
make
sudo make install
# ensure installation
cd ..
cd pg13
# expected dirs: bin  include  lib  share
ls
# add new user or just skip it and use your preferred 
adduser postgres
# change ownership to the user
chown postgres pg13data
# switch to the user
su - postgres
# Update LD_LIBRARY_PATH (very important step)
LD_LIBRARY_PATH=/home/rrr/bitnine/pg13/lib
export LD_LIBRARY_PATH
# init db cluster
./pg13/bin/initdb -D ./pg13data
# start the server
./pg13/bin/postgres -D ./pg13data/ -p 5431 >logfile 2>&1 &
# create database 'test' 
./pg13/bin/createdb test -p 5431
# start postgresql session
# output psql (13.0)
./pg13/bin/psql test
\q

然后让安装年龄1.3.0
postgresql的Apache 1.3.0 13发行说明

我们将获得1.3.0年龄的目标链接是从其存储库中的发布:AGE-1.3.0

  1. 下载源代码https://github.com/apache/age/releases/tag/PG13/v1.3.0-rc0
  2. 将其移至叮咬
mv ~/Downloads/apache-age-1.3.0-src.tar.gz ~/bitnine/
tar xzf apache-age-1.3.0-src.tar.gz
cd apache-age-1.3.0
# If you opened a new terminal / you have not set it automatically
LD_LIBRARY_PATH=/home/rrr/bitnine/pg13/lib
export LD_LIBRARY_PATH
# install
sudo make PG_CONFIG=/home/rrr/bitnine/pg13/bin/pg_config install
# installcheck
sudo make clean
make PG_CONFIG=/home/rrr/bitnine/pg13/bin/pg_config installcheck
./pg13/bin/psql test
CREATE EXTENSION age;
LOAD 'age';
SELECT * FROM ag_catalog.create_graph('test_graph');

报告:

  1. 所有测试通过24/24

2.测试了呼叫的实现... [收益] Cypher函数。 (#630 https://github.com/apache/age/pull/630

  1. 我看到该功能已经在1.2.0年龄实现和提及,并且在那里正常工作,我认为在新版本中没有必要提及它,Graph names with the empty string '' are no more allowed. (#251)

  2. 审查了错字更改

  3. 审查了回归测试

  4. 签名检查=>检查并通过

  5. 许可和注意=>检查并通过

  6. 否二进制文件=>检查并通过

  7. 不再允许带有空字符串的图形名称。 (#251):我已经看到该功能已经
    在1.2.0岁时实施并提及,在那里正常工作。我认为获得
    是没有意义的 它在新版本中也提到。如果比较1.3.0至1.1.0,则可以。

  8. at drop_graph with with with with''空字符串IT输出图形“”不存在,而名称无效,应
    两者都是有效的,但出于一致性,我认为这可能是相似的create_graph输出。

  9. 运行带有多个查询的会话包含年龄条款。

  10. 测试的查询包含多个返回查询的数据类型。

反馈

我整体上喜欢升级,因为有必要适应所有和最新的PG
版本,这是一个很好的努力和工作,做得很好。

参考和资源

更改日志

  • 实现呼叫... [收益] Cypher功能。 (#630)
  • 不再允许带有空字符串的图形名称。 (#251)
  • 在多个位置修复错别字。 (#470)
  • 用呼叫修复错误... [屈服],条款忽略了。
  • 修复说明以允许嵌套的Cypher命令。
  • 修复DELETE_GLOBAL_GRAPHS并添加回归测试。 (#336)
  • 无效的标签现在返回null。
  • 更新贡献.md(#348)
  • 在姓名上修复NULL指针比较。 (#376)
  • 修复Travis CI警告消息。
  • 为age_global_graph添加了其他回归测试。 (#341)
  • 为年龄jdbc-driver添加了读数。 (#383)
  • 许多功能更新的志愿类别。
  • 修复问题339-子句中的实体错误的说明。 (#391)
  • 创建完整的图形功能。 (#342)(#662)
  • 修复问题317:图形命名约定。 (#349)
  • 更新设置子句以支持将映射分配给变量。 (#468)
  • 解决似乎不活跃的PR 203的补丁。 (#671)
  • 为Create_graph函数添加其他注释。 (#582)
  • 优化age_exists功能。 (#586)
  • 在set子句中实现加上等于平等的运算符。 (#638)
  • 为Python驱动程序实施CI测试。 (#587)
  • 从Travis CI转移到GitHub动作进行构建。 (#673)
  • 将所有驱动程序顺式更新为github操作。
  • 修复构建警告。 (#709)
  • drivers文件夹更新了读数。 (#642)
  • 从函数定义中删除异步。 (#680)
  • 杠铃图生成(#648)和杠铃回归测试。 (#708)
  • 更新的Python驱动程序Antlr 4.9.3-> 4.11.1(#706)
  • 解决忽略子句的修复。 (#646)
  • enasement isempty()谓词函数。 (#710)
  • 修复Cypher函数输入参数检查。 (#718)
  • 修复问题693-返回的服务器终止(路径)。 (#721)
  • 更新Cypher_with的回归测试。 (#725)
  • 修复问题733 -create_complete_graph()终止服务器。 (#734)
  • 防止匹配遵循可选匹配。 (#740)
  • 修复针对已解决变量的属性约束。 (#724)(#751)(#701)(#747)
  • 在重复使用的变量中包括无效标签。 (#751)(#762)
  • 修复update_entity_tuple使用正确的CommandId。 (#769)
  • 删除在Undind中的标量AGTYPE的检查。 (#736)
  • 更新PG13 CI工作流程。 (#775)
  • python驱动程序的更新读数和版本。 (#780)
  • 更新readme.md

参考和资源