首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >docker容器中登陆并操作postgresql

docker容器中登陆并操作postgresql

作者头像
鲲志说
发布2025-04-07 21:56:33
发布2025-04-07 21:56:33
1.7K0
举报

这里的背景比较简单,因为区块链浏览器使用的是blockscout,blockscout的数据库选择的是postgresql,这些服务组件都是使用的docker容器来管理,今天进行区块链上交易查询的时候,发现数据存在部分问题,因此需要进入postgresql来排查

PostgreSQL

如果连PostgreSQL是什么都不清楚的小伙伴,建议看一下菜鸟教程- PostgreSQL 教程,讲解和操作还是很友好的。

  • PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
  • PostgreSQL 开发者把它念作 post-gress-Q-L。
  • PostgreSQL 的 Slogan 是 “世界上最先进的开源关系型数据库”。

docker容器操作postgresql

多余的不讲了,我们直接来操作

docker容器操作

查看docker镜像

这里我们只需要关注容器id(CONTAINER ID)和容器名称(NAMES)即可,后面进入postgresql数据库会用到

代码语言:javascript
复制
docker ps
进入容器

这里我们以容器名称为db的为例

代码语言:javascript
复制
#通过容器名称进入镜像
docker exec -it db /bin/sh
或
#通过容器ID进入镜像
docker exec -it 0ad4d42cbc99 /bin/sh

登陆postgresql数据库

执行完毕上面的命令,我们就进入了postgresql的容器中 因为blockscout将数据库密码写入了环境变量中,因此使用下面的命令即可

代码语言:javascript
复制
psql -U blockscout

具体解释如下:

  • psql: 是 PostgreSQL 数据库的命令行客户端工具,用于执行 SQL 查询和管理数据库。
  • -U blockscout: 是命令的参数部分,指定连接数据库时要使用的用户名。在这里,用户名是 blockscout。 这个命令表示正在使用 psql 命令行工具连接到 PostgreSQL 数据库,并以 blockscout用户的身份进行连接。连接成功后,可以执行 SQL 查询、管理数据库等操作。

登陆成功如下图

在正常情况下,如果要使用用户名和密码登录 PostgreSQL,可以使用以下格式的命令:

代码语言:javascript
复制
psql -U your_username -d your_database -h your_host -p your_port -W

-W 选项用于指示系统提示输入密码

postgresql相关操作

列出所有的数据库
代码语言:javascript
复制
\l
或
\list

可以看到有下面4个数据库

切换数据库

我们切换到 blockscout数据库,命令如下:

代码语言:javascript
复制
\c blockscout

会看到提示,当前链接的数据库是blockscout,用户是blockscout

列出当前数据库下的数据表
代码语言:javascript
复制
\d

如下图,可以看到所有的表

退出查看

记住在postgresql的操作中,所有的退出,都是轻轻点击一下q键即可

代码语言:javascript
复制
q
列出指定表的所有字段

这里以表address_names为例

代码语言:javascript
复制
\d address_names

如下图,我们可以看到字段名称、类型、描述、是否为空等等

查看指定表的基本情况

这里还是以表address_names为例

代码语言:javascript
复制
\d+ address_names

如下图

查询指定表内容

这里仍然以表address_names为例,我们只查询5条

代码语言:javascript
复制
select * from address_names limit 5;

如下图,可以看出,查询语句和mysql没有什么区别

退出postgresql的登陆
代码语言:javascript
复制
\q

这里单单一个q是无法退出的

退出postgresql容器
代码语言:javascript
复制
exit;

如下图,成功退出了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • PostgreSQL
  • docker容器操作postgresql
    • docker容器操作
      • 查看docker镜像
      • 进入容器
    • 登陆postgresql数据库
    • postgresql相关操作
      • 列出所有的数据库
      • 切换数据库
      • 列出当前数据库下的数据表
      • 退出查看
      • 列出指定表的所有字段
      • 查看指定表的基本情况
      • 查询指定表内容
      • 退出postgresql的登陆
      • 退出postgresql容器
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档