linux docker 环境下 安装postgres

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工具连接数据库,导入表结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值