1 概述
centos7 系统下的docker中安装部署postgres,并使用kettle 在不同postgres数据库中的表增量提取数据。
2 环境说明
centos 7.9.2009(Core)
docker 20.10.6
docker-compose 1.25.5
postgres 13.3
3 安装步骤
3.1 环境准备
准备操作系统、docker和docker-compose环境、jdk安装、kettle安装部署。参考前文的部署。
3.2 编制编排
使用docker-compose.yml文件编写
version: '3.0'
services:
db:
image: postgres
restart: always
name: public
privileged: true
posts:
- 5432:5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: Vq6d$zEn
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- /var/lib/postgresql/data/pgdata:/data/postgres/data/
3.3 启动创建
进入到docker-compose.yml文件所在目录
$cd /home/user/docker/postgres/
3.3.1 启动
$docker-compose up -d
3.3.2 查看
$docker ps
3.4 验证连接
使用navicat工具连接数据库postgres
查询数据库版本
3.5 操作
3.5.1 密码修改
3.5.1.1 查看容器编号
$docker ps
3.5.1.2 进入容器
$docker exec -it image_id /bin/bash
3.5.1.3 切换用户
#su postgres
注意:
默认登陆容器为root用户,root用户没有postgres数据库权限,登陆报错,两种方案:
方案一、切换至postgres用户 (本文使用方案)
方案二、给root用户赋予postgres角色权限。
root赋权限
将root创建为超级用户,login是指允许登录
postgres-# CREATE ROLE root superuser PASSWORD 'password' login;
3.5.1.4 登陆数据库
$ psql
3.5.1.5 更改密码
\password dbuser
Enter new password:
Enter password agein:
3.5.1.6 退出
\q
3.5.1.7 验证
3.4验证连接中,编辑连接,重新输入密码,连接操作。
连接成功后,使用sql语句验证。
3.5.2 创建用户
3.5.2.1 新增用户
创建postgres数据库用户和密码
postgres-# CREATE USER exampledb WITH PASSWORD 'userdb_password';
3.5.2.2 创建数据库
数据库exampledb 数据库所有者为userdb
postgres-# CREATE DATABASE exampledb OWNER userdb ;
3.5.2.3 赋权限
将isgs_portal的所有的权限都赋予userdb,否则userdb只能登录控制台,没有任何数据库操作权限。
postgres-# GRANT ALL PRIVILEGES ON DATABASE exampledb to userdb;
数据库创建完毕,使用navicat工具连接数据库,导入表结构
|