docker实战 - 安装greenplum
-
拉取镜像
docker pull apache/superset:latest -
创建docker卷用作持久化
docker volume create gpdata-host -
启动容器
docker run -itd -p 5432:5432 --mount source=gpdata-host,target=/gpdata --name greenplum-6.19.2 projectairws/greenplum:latest -
进入容器
docker exec -it greenplum-6.19.2 /bin/bash -
切换到super权限
su gpadmin -
执行脚本,修复环境变量(只有修复后,才能执行下面的命令)
export MASTER_DATA_DIRECTORY=/gpdata/master/gpseg-1 source /usr/local/greenplum-db/greenplum_path.sh -
创建用户lianapp
createuser -P lianapp20QvQ!analytics
-
创建数据库qin
createdb qin -
psql进入数据库管理
psql qin- 列出角色权限
\du - 赋予用户创建数据库的权限
alter user lianapp createdb; - 赋予用户对数据库qin的所有权限
GRANT ALL PRIVILEGES ON DATABASE qin TO lianapp;GRANT ALL PRIVILEGES ON all tables IN SCHEMA public TO lianapp;ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES on tables TO lianapp;
- 列出角色权限
-
创建测试数据集1
- 创建表
CREATE TABLE test (user_id integer, duration integer, day date) - 创建函数,用于写入
CREATE OR REPLACE FUNCTION public.create_test_data()
RETURNS integer
LANGUAGE plpgsql
AS $function$
DECLARE i INTEGER ;
BEGIN
for i in 1..10000 loop
insert into test values ((random()*1000.)::numeric(4), (random()*100.)::numeric(4), (current_date - floor((random() * 25))::int)::date);
end loop;
return 1;
END;
$function$; ```- 执行函数,进行写入
select public.create_test_data();
- 创建表
-
创建测试数据集1
- 创建表
CREATE TABLE test_2 (user_id integer, btn_type varchar(100), day date); - 创建函数,用于写入
CREATE OR REPLACE FUNCTION public.create_test_data_2()
RETURNS integer
LANGUAGE plpgsql
AS $function$
DECLARE i INTEGER ;
BEGIN
for i in 1..100000 loop
insert into test_2 values ((random()*10000.)::numeric(6), (ARRAY['btn1', 'btn2', 'btn3', 'btn4', 'btn5']::text[])[(random() * 4 + 1)::NUMERIC(1)], (current_date - floor((random() * 365))::int)::date);
end loop;
return 1;
END;
$function$; ```- 执行函数,进行写入
select public.create_test_data_2();
- 创建表