Docker修改Postgresql密码

在这里插入图片描述

在Docker环境中,对已运行的PostgreSQL数据库实例进行密码更改是一项常见的维护操作。下面将详述如何通过一系列命令行操作来实现这一目标。

修改方式

查看容器状态及信息

我们需要定位到正在运行的PostgreSQL容器以获取其相关信息。执行以下命令列出所有正在运行的Docker容器及其基本信息:

docker ps
进入PostgreSQL容器

确定了PostgreSQL容器的ID或名称后,使用 docker exec,命令进入该容器的交互式Shell环境:

docker exec -it <postgresql> /bin/sh

这里的<postgresql>,应替换为实际的容器名称或ID,以便我们能进入到PostgreSQL容器的内部bash shell中进行后续操作。

切换至postgres用户

为了能够对数据库进行管理操作,包括密码修改,需要切换至具有足够权限的postgres用户,来登录数据库

su postgres
连接PostgreSQL数据库
psql -U postgres

这条命令将以postgres的用户身份登录到PostgreSQL数据库,进入一个SQL命令提示符界面。

修改postgres用户密码

在数据库命令行环境下,执行ALTER USER语句来更改 postgres 用户的密码

Alter user postgres with password '123456';

请将 '123456’替换为你想要设置的新密码。执行此命令后,postgres用户的密码即被更新为新设定值。

退出数据库连接
\q
重启PostgreSQL数据库

docker run 启动数据库的时候设置了 POSTGRES_PASSWORD 值,是容器初始化的时候,postgresql 数据库的密码,数据库重启不受此参数影响,但是 docker inspect显示的值不变,还是最初启动的时候的值

docker restart postgresql_test

常用命令

查看数据库列表
\l

这将显示所有可用的数据库。

切换数据库
\c <database_name>

<database_name> 替换为您要切换的数据库名称。按下 Enter 键后,您将切换到指定的数据库。

查看表列表
\dt

这将显示当前数据库中的所有表。

删除数据库
DROP DATABASE <database_name>;

其中 <database_name> 是要删除的数据库名称。请注意,删除数据库将永久删除其中的所有数据,请谨慎操作。

删除表
DROP TABLE <table_name>;

其中 <table_name> 是要删除的表名称。请注意,删除表将永久删除其中的所有数据,请谨慎操作。

清空表
TRUNCATE TABLE <table_name> CASCADE;

<table_name> 替换为您要清空的表的名称。如果要清空多个表,可以在一条命令中使用多个 TRUNCATE TABLE 语句。

注意事项

修改完 postgresql 的密码之后,一定要保存好密码,在使用 docker inspect postgresql_test 去查看容器的信息的时候,显示的 POSTGRES_PASSWORD 值,已经跟实际密码不一样了

相关推荐

  1. Docker部署Sentinel修改密码

    2024-07-14 12:24:03       23 阅读
  2. 修改Docker Gitlab root 的密码

    2024-07-14 12:24:03       37 阅读
  3. [运维|gitlab] docker Gitlab 命令行后台修改密码

    2024-07-14 12:24:03       50 阅读
  4. Docker - PostgreSQL

    2024-07-14 12:24:03       35 阅读
  5. 服务器如何修改密码

    2024-07-14 12:24:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 12:24:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 12:24:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 12:24:03       58 阅读
  4. Python语言-面向对象

    2024-07-14 12:24:03       69 阅读

热门阅读

  1. 使用druid对sql进行血缘解析

    2024-07-14 12:24:03       24 阅读
  2. Spring Boot项目的控制器貌似只能get不能post问题

    2024-07-14 12:24:03       33 阅读
  3. Django是干什么的?好用么?

    2024-07-14 12:24:03       25 阅读
  4. HTTPS 加密流程全解析

    2024-07-14 12:24:03       27 阅读
  5. mysql快速精通(四)多表查询

    2024-07-14 12:24:03       24 阅读
  6. 如何隐藏 Ubuntu 顶部状态栏

    2024-07-14 12:24:03       31 阅读
  7. springboot2——功能和原理

    2024-07-14 12:24:03       22 阅读
  8. Oracle 数据清理

    2024-07-14 12:24:03       22 阅读
  9. win32:第一个窗口程序-初始化实例(part.5)

    2024-07-14 12:24:03       26 阅读
  10. Flask与Celery实现Python调度服务

    2024-07-14 12:24:03       22 阅读
  11. `speech_recognition` 是一个流行的库

    2024-07-14 12:24:03       21 阅读
  12. 致十年后的自己

    2024-07-14 12:24:03       14 阅读