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


目录
  • PostgreSQL
  • docker容器操作postgresql
    • docker容器操作
      • 查看docker镜像
      • 进入容器
    • 登陆postgresql数据库
      • postgresql相关操作
        • 列出所有的数据库
        • 切换数据库
        • 列出当前数据库下的数据表
        • 退出查看
        • 列出指定表的所有字段
        • 查看指定表的基本情况
        • 查询指定表内容
        • 退出postgresql的登陆
        • 退出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内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友! 

    您可能感兴趣的文章:
    • 用docker运行postgreSQL的方法步骤
    • docker安装并持久化postgresql数据库的操作步骤
    • Docker环境下升级PostgreSQL的步骤方法详解
    • 关于Docker部署postgresql数据库的问题
    • docker安装postgresql的图文教程
    • docker中运行PostgreSQL容器的简单步骤
    • 一步步教你用docker部署postgreSQL数据库

    相关内容