AGE概述
我们可以通过源码安装、拉取docker镜像运行、直接使用公有云三种方式中的任意一种来使用Apache AGE
获取 AGE
发布版本
可以在 https://github.com/apache/age/releases 找到发布版本和发布说明。
源代码
源代码可以在 https://github.com/apache/age 找到。
docker镜像
docker镜像仓库在https://hub.docker.com/r/nimblex/memfiredb 找到
或者直接使用命令拉取镜像
docker pull nimblex/memfiredb:15.1.1.20_01
从源代码安装
预安装
根据每个操作系统安装以下必要的库。从源代码构建 AGE 依赖于以下 Linux 库(下面显示的是 Ubuntu 包名称):
CentOS
yum install gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
Fedora
dnf install gcc glibc bison flex readline readline-devel zlib zlib-devel
Ubuntu
sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
安装 PostgreSQL
您需要安装与 AGE 兼容的版本的 PostgreSQL。AGE 支持 PostgreSQL 11、12、13、14 和 15。
从源代码安装
您可以下载 PostgreSQL 源代码并安装自己的 PostgreSQL 实例。您可以阅读官方 PostgreSQL 网站上关于如何从源代码安装的说明。
从软件包管理器安装
您可以使用您的操作系统提供的软件包管理器下载 PostgreSQL。
Ubuntu
PostgreSQL 15
sudo apt install postgresql-15 postgresql-server-dev-all
PostgreSQL xx
sudo apt install postgresql-xx postgresql-server-dev-all
安装
运行 pg_config 实用程序,并检查 PostgreSQL 的版本。Apache AGE 支持所有稳定版本的 postgresql(11、12、13、14 和 15)。
构建过程将尝试使用 PATH 环境变量中的第一个路径来安装 AGE。如果 pg_config 路径位于其中,请在 Apache AGE 的源代码目录中运行以下命令以构建和安装扩展。
make install
如果您的 PostgreSQL 安装路径不在 PATH 变量中,请在参数中添加路径:
make PG_CONFIG=/path/to/postgres/bin/pg_config install
安装后,打开到正在运行的数据库实例的连接,并运行 CREATE EXTENSION 命令以在服务器上安装 AGE。
CREATE EXTENSION age;
通过 Docker 镜像安装
获取 Docker 镜像
docker pull nimblex/memfiredb:15.1.1.20_01
启动容器
docker run --name memfiredb -p 5432:5432 -e POSTGRES_PASSWORD=memfiredb -d nimblex/memfiredb:15.1.1.20_01
通过数据库客户端连接数据库,可以执行图操作。用户名postgres,数据库名postgres,密码memfiredb
CREATE EXTENSION age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;
使用公有云服务
一些公有云的提供了免安装的数据库服务,无需自己部署。以MemFireCloud为例
直接连接
每个MemFire Cloud应用内置一个完整的Postgres数据库,你可以使用任何支持Postgres的工具来连接到数据库。你可以在控制台内的数据库设置中获取连接信息:
- 来到左侧菜单栏的
设置
部分 - 点击
数据库
- 启用数据库直连
- 找到应用的
连接信息
开启直连
白名单
MemFire Cloud内置白名单功能,开启白名单后,只允许白名单内的IP地址段访问你的数据库。关闭白名单后,访问你数据库的IP地址不受限制,即任何IP地址只要有连接信息都可以与你的数据库进行直连。 在进行白名单配置时,要遵循CIDR规则。MemFire Cloud中白名单功能 默认是关闭的,需用户手动开启。
配置白名单
通过数据库客户端连接数据库,可以执行图操作
CREATE EXTENSION age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;