当前位置: 代码网 > 服务器>服务器>云虚拟主机 > docker容器中登陆并操作postgresql的实现

docker容器中登陆并操作postgresql的实现

2024年05月19日 云虚拟主机 我要评论
这里的背景比较简单,因为区块链浏览器使用的是blockscout,blockscout的数据库选择的是postgresql,这些服务组件都是使用的docker容器来管理,今天进行区块链上交易查询的时候

这里的背景比较简单,因为区块链浏览器使用的是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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com