docker容器中登陆并操作postgresql的实现
这里的背景比较简单,因为区块链浏览器使用的是blockscout,blockscout的数据库选择的是postgresql,这些服务组件都是使用的docker容器来管理,今天进行区块链上交易查询的时候,发现数据存在部分问题,因此需要进入postgresql来排查
PostgreSQL
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
PostgreSQL 开发者把它念作 post-gress-Q-L。
PostgreSQL 的 Slogan 是 “世界上最先进的开源关系型数据库”。
docker容器操作postgresql
多余的不讲了,我们直接来操作
docker容器操作
查看docker镜像
这里我们只需要关注容器id(CONTAINER ID)和容器名称(NAMES)即可,后面进入postgresql数据库会用到
docker ps
进入容器
这里我们以容器名称为db的为例
#通过容器名称进入镜像 docker exec -it db /bin/sh 或 #通过容器ID进入镜像 docker exec -it 0ad4d42cbc99 /bin/sh
登陆postgresql数据库
执行完毕上面的命令,我们就进入了postgresql的容器中
因为blockscout将数据库密码写入了环境变量中,因此使用下面的命令即可
psql -U blockscout
具体解释如下:
- psql: 是 PostgreSQL 数据库的命令行客户端工具,用于执行 SQL 查询和管理数据库。
- -U blockscout: 是命令的参数部分,指定连接数据库时要使用的用户名。在这里,用户名是 blockscout。
这个命令表示正在使用 psql 命令行工具连接到 PostgreSQL 数据库,并以 blockscout用户的身份进行连接。连接成功后,可以执行 SQL 查询、管理数据库等操作。
登陆成功如下图
在正常情况下,如果要使用用户名和密码登录 PostgreSQL,可以使用以下格式的命令:
psql -U your_username -d your_database -h your_host -p your_port -W
-W 选项用于指示系统提示输入密码
postgresql相关操作
列出所有的数据库
\l 或 \list
可以看到有下面4个数据库
切换数据库
我们切换到 blockscout数据库,命令如下:
\c blockscout
会看到提示,当前链接的数据库是blockscout,用户是blockscout
列出当前数据库下的数据表
\d
如下图,可以看到所有的表
退出查看
记住在postgresql的操作中,所有的退出,都是轻轻点击一下q键即可
q
列出指定表的所有字段
这里以表address_names为例
\d address_names
如下图,我们可以看到字段名称、类型、描述、是否为空等等
查看指定表的基本情况
这里还是以表address_names为例
\d+ address_names
如下图
查询指定表内容
这里仍然以表address_names为例,我们只查询5条
select * from address_names limit 5;
如下图,可以看出,查询语句和mysql没有什么区别
退出postgresql的登陆
\q
这里单单一个q是无法退出的
退出postgresql容器
exit;
如下图,成功退出了
到此这篇关于docker容器中登陆并操作postgresql的实现的文章就介绍到这了,更多相关docker登陆并操作postgresql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
如何解决docker-compose网段路由冲突,docker-compose自定义网络
这篇文章主要介绍了如何解决docker-compose网段路由冲突,docker-compose自定义网络问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01如何通过DOCKER OVERLAY2目录名查找容器名和容器ID
这篇文章主要介绍了如何通过DOCKER OVERLAY2目录名查找容器名和容器ID问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-03-03Dockerfile 中 VOLUME 与 docker -v 的区别说明
这篇文章主要介绍了Dockerfile 中 VOLUME 与 docker -v 的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-03-03
最新评论