postgresql和greenplum安装

最近学习数据库,搜集了些资料,并在本地单机安装使用学习。

SQL

SQL 语法速成手册

PostgreSQL

文档

PostgreSQL的架构
Backend Flowchart
PostgreSQL 数据存储目录结构和进程结构

安装

sudo apt install postgresql
service postgresql start            # /etc/init.d/postgresql

从难缠的模糊查询聊开 - PostgreSQL独门绝招之一 GIN , GiST , SP-GiST , RUM 索引原理与技术背景

Greenplum

Greenplumj基于postgresql开发(魔改),连默认端口号都一样。不安装PG,直接安装GP也行。

文档

Greenplum企业应用实战(笔记):第一章 greenplum简介以及该系列
聊聊Greenplum的那些事
详解开源大数据引擎Greenplum的架构和技术特点

Greenplum数据库文档

安装

建立gpadmin用户
主要参考Install Greenplum OSS on Ubuntu安装的。
Greenplum DatabasePPA description

另外要

export MASTER_DATA_DIRECTORY=/home/gpadmin/gpmaster/gpsne-1 # my MASTER_DIRECTORY=/home/gpadmin/gpmaster
sudo chown -R gpadmin:gpadmin ${GPHOME}

测试

PostgreSQL 回归测试

我是使用apt安装的gp运行官方的回归测试中,需要我们有3个segment,因为其会对运行计划的特性的测试,其假定有3个segment。
下载源代码后,发现greenplum在github仓库里的.travis.yml里运行

make -s unittest-check
make -C src/test/regress installcheck-small

而其在README里说的在gpdb目录下运行make installcheck-world其中主要运行的是

make -C src/test/regress installcheck-good

通过看src/test/regress/GNUmakefile

installcheck: installcheck-good

installcheck-small: all
	$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(EXTRA_TESTS)

installcheck-good: all twophase_pqexecparams hooktest query_info_hook_test
	$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule --schedule=$(srcdir)/greenplum_schedule $(EXTRA_TESTS)

所以我们

cd src/test/regress
make installcheck

其最终会运行

../../../src/test/regress/pg_regress --inputdir=. --psqldir='/usr/local/gpdb/bin'    --dlpath=. --init-file=./init_file  --schedule=./parallel_schedule --schedule=./greenplum_schedule 

当遇到与gp_inject_fault没有安装的问题

cd gpcontrib/gp_inject_fault/
make install USE_PGXS=1

当遇到与gp_debug_numsegments没有安装的问题

cd gpcontrib/gp_debug_numsegments/
make install USE_PGXS=1

当运行make installcheck遇到类似于

/opt/greenplum-db-6-6.11.2/lib/postgresql/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --psqldir='/opt/greenplum-db-6-6.11.2/bin'    --dbname=contrib_regression udf_vector_sum_and_filter
(using postmaster on Unix socket, default port)
sh: 1: /usr/local/greenplum-db-oss/bin/psql: not found
pg_regress: cannot read the result
/opt/greenplum-db-6-6.11.2/lib/postgresql/pgxs/src/makefiles/pgxs.mk:303: recipe for target 'installcheck' failed
make: *** [installcheck] Error 2

的错误时

sudo mkdir -p /usr/local/greenplum-db-oss/bin
ln -s ${GPHOME}/bin/psql /usr/local/greenplum-db-oss/bin/
posted @ 2020-06-26 21:19  Tifa_Best  阅读(399)  评论(0编辑  收藏  举报