docker 安装opengauss及相关操作
官方文档:
https://docs.opengauss.org/zh/docs/7.0.0-RC1/docs/InstallationGuide/容器镜像安装.html
实际创建docker容器:
创建数据目录
chmod -R 755 /home/data/opengauss
docker启动容器
docker run -d -p 4500:5432 -e GS_PASSWORD=sstms@V2 -v /home/opengauss:/var/lib/opengauss -v /home/data/opengauss:/home/omm/data --name opengauss opengauss/opengauss-server:latest
说明:创建初始用户omm时密码有严格校验格式,/home/data/opengauss用于存放表空间数据等
容器内部连接数据库:
进入容器:
$ docker exec -it <CONTAINER ID> bash
登录omm超级用户:
$ su omm
$ gsql -d postgres -p 5432
创建数据库相关信息:
创建用户
CREATE USER sstms IDENTIFIED BY 'sstms@2176';
GRANT ALL PRIVILEGES TO sstms;
创建数据库
CREATE DATABASE sstms OWNER sstms;
创建表空间
CREATE TABLESPACE sstms LOCATION '/home/omm/opengauss';
表空间授权给用户
GRANT CREATE ON TABLESPACE sstms TO sstms;
用gsql导出数据库
gs_dump -U sstms -f /home/omm/ogdata/db_sstms_backup.sql -p 5432 sstms -s -F p
docker 复制sql文件到宿主机
docker cp 027ee3c6fc3c:/home/omm/ogdata/db_sstms_backup.sql ./
027ee3c6fc3c为容器id
用gsql切换用户登陆
gsql -d sstms -U sstms -W sstms@2176 -p 5432;
登录后终端会有类似提示符
sstms=>
导入之前导出的sql(sql文件里面的schema要替换改成sstms)
\i /home/omm/data/db_sstms_backup.sql;
查看schema里表对应表空间情况
SELECT
schemaname AS schema_name,
tablename AS table_name,
COALESCE(tablespace, 'pg_default') AS tablespace_name
FROM
pg_tables
WHERE
schemaname = 'sstms';