docker 搭建单机PostgreSQL操作详解

 更新时间:2025年04月02日 11:08:39   作者:逆风飞翔的小叔  
本文通过实际案例操作演示了如何基于Docker搭建pg的完整过程,并补充了pg数据库操作的常用命令和授权命令,感兴趣的朋友一起看看吧

一、前言

在实际项目中,PostgreSQL具有很多使用场景,为了方便应用开发时快速接入和调试,需要有PostgreSQL环境,本文演示如何基于linux环境搭建单节点postgresql完整操作过程。

二、前置准备

2.1 服务器环境

基于centos7以上版本的系统,虚拟机或云服务一台,配置不低于2C4G。

2.2 docker环境

提前在服务器安装docker环境,后面需要基于docker安装PostgreSQL。

三、docker安装PostgreSQL过程

3.1 获取PostgreSQL镜像

使用下面的命令获取镜像

docker pull postgres

3.2 启动容器

3.2.1 创建数据卷目录

为了后续pg数据的持久化,需要提前创建一个数据卷映射目录

mkdir /usr/local/soft/pg/data

3.2.2 启动pg容器

使用下面的命令启动postgresql的容器

docker run -d \
  --name postgres \
  -e POSTGRES_USER=root\
  -e POSTGRES_PASSWORD=123456 \
  -e ALLOW_IP_RANGE=0.0.0.0/0 \
  -e POSTGRES_DB=postgres \
  -v /usr/local/soft/pg/data:/var/lib/postgresql/data \
  -p 54132:5432 \
  postgres:latest

参数说明:

  • -d ,以后台进程启动;
  • --name ,指定容器的名字为 :root;
  • POSTGRES_USER=postgres ,指定初始化的连接账户;
  • POSTGRES_PASSWORD=123456 ,指定初始化的连接密码;
  • ALLOW_IP_RANGE=0.0.0.0/0 ,指定允许所有的客户端可以连接;
  • POSTGRES_DB=postgres ,指定默认的数据库名称;
  • -v /usr/local/soft/pg/data:/var/lib/postgresql/data ,指定pg数据库的数据卷;
  • -p 5432:5432 ,容器与宿主机的映射端口,默认为5432 ;

容器运行成功,可以看到启动了一个pg的容器;

3.3 客户端测试连接数据库

本地使用navicat连接pg数据库,使用上述初始化的连接信息

四、创建数据库与授权

和mysql在使用的时候类似,为了保证操作pg数据库的安全性,需要进行相关的授权操作,pg的授权与mysql数据库的授权有所不同,接下来看具体的操作演示过程。

4.1 进入PG容器

找到容器ID,使用下面的命令进入容器

docker exec -it 容器ID /bin/bash

4.2 PG常用操作命令

4.2.1 进入命令行

进入容器之后,使用下面的命令进入PG的操作命令行,类似于mysql的命令行工具

psql -U postgres -h 服务器IP -p 54132 postgres

输入密码,验证成功后,就来到下面的命令行操作界面:

4.2.2 常用操作命令

1)列出当前所有数据库

\l

2)列出当前数据库的所有表

默认情况下,登录进来使用的是postges这个数据库,使用下面的命令可以查看所有表

3)切换数据库

使用下面的命令切换到另一个数据库

\c 数据库名称

4)创建数据库

CREATE DATABASE 数据库名称;

5)创建账户

CREATE USER 用户名 WITH PASSWORD '密码';

6)账户授权

pg数据库中对于连接的账户需要进行授权,有数据库授权,表授权等,下面分别是数据库授权,表授权的命令

一般下面这两个命令是连起来用的,即先对数据库的连接账户授权,仅仅授权数据库还不够,还需要对数据库下面的所有表授权才可正常使用;

GRANT CONNECT, CREATE, TEMPORARY ON DATABASE "数据库名称" TO 用户名;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO 用户名;

补充说明

设置默认权限,使某个用户对未来在 public 模式下创建的表也拥有全部权限

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO 用户名;

四、写在文末

本文通过实际案例操作演示了如何基于Docker搭建pg的完整过程,并补充了pg数据库操作的常用命令和授权命令,希望对看到的同学有用,本篇到此结束,感谢观看。

到此这篇关于docker 搭建单机PostgreSQL操作详解的文章就介绍到这了,更多相关docker 单机PostgreSQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker Redis本地能Ping通但6379端口连不上的排查与解决方法

    Docker Redis本地能Ping通但6379端口连不上的排查与解决方法

    在 Linux 服务器上部署 Redis Docker 容器,本地连接正常,但远程主机 telnet 端口不通,经过层层排查,最终发现是 Linux 内核参数 net.ipv4.ip_forward 被关闭导致的,本文记录了完整的排查思路与解决方案,需要的朋友可以参考下
    2026-05-05
  • Docker容器不断重启问题解决

    Docker容器不断重启问题解决

    本文主要介绍了使用docker-compose.yml配置文件启动容器时遇到的问题,卷标冲突和容器无法启动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Docker搭建Minio容器的流程步骤(完整详细版)

    Docker搭建Minio容器的流程步骤(完整详细版)

    Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能,它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,本文将给大家介绍Docker搭建Minio容器的流程步骤,需要的朋友可以参考下
    2024-08-08
  • docker容器增加或者修改容器映射端口的实现方法

    docker容器增加或者修改容器映射端口的实现方法

    在只有使用docker安装的容器,没有使用docker-compose或者其他客户端工具,如果要增加或者修改容器端口,也是可以增加或者修改容器端口映射,本文给大家介绍了docker容器增加或者修改容器映射端口的实现方法,需要的朋友可以参考下
    2025-01-01
  • 详解Docker cpu限制分析

    详解Docker cpu限制分析

    本篇文章主要介绍了Docker cpu限制分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Milvus docker-compose 部署操作方法

    Milvus docker-compose 部署操作方法

    本文介绍了使用Docker-compose部署Milvus向量数据库的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-07-07
  • docker nginx 配置文件要点及注意事项

    docker nginx 配置文件要点及注意事项

    本文介绍了Nginx的配置要点及注意事项,包括访问静态资源、负载均衡等,在访问静态资源时,可以使用root或alias指令指定路径,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-02-02
  • docker里面不能使用vim的问题及解决

    docker里面不能使用vim的问题及解决

    这篇文章主要介绍了docker里面不能使用vim的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Docker容器资源监控的终极指南

    Docker容器资源监控的终极指南

    容器化应用突发高负载、内存泄漏等问题时常困扰运维团队,所以本文给大家介绍了Docker容器资源监控的完整指南,并通过代码示例介绍的非常详细,需要的朋友可以参考下
    2025-07-07
  • zabbix监控docker应用配置

    zabbix监控docker应用配置

    今天通过本文给大家分享zabbix监控docker容器的原理及部署的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-07-07

最新评论