> 技术文档 > postgresql使用记录 SCRAM authentication requires libpq version 10 or above

postgresql使用记录 SCRAM authentication requires libpq version 10 or above


文章目录

  • 背景
  • 如何用命令行连接数据库
  • 报错
    • 原因
    • 解决方案
  • psql常见命令
      • 🔍 **核心数据库操作命令**
        • 1. **查看所有数据库**
        • 2. **切换数据库**
        • 3. **查看表及结构**
        • 4. **执行 SQL 文件**
        • 5. **退出 psql**
      • ⚙️ **高级管理命令**
      • ️ **注意事项**

背景

由于某种原因,无法直接使用dbeaver连接数据库了。所以只能使用命令行了,被迫学了一下。

如何用命令行连接数据库

PGPASSWORD=\'你的密码\' psql -h 你的数据库IP -p 你的数据库端口,默认5432 -U 你的用户名 -d 你的DB名

报错

打了上面的指令后,一般情况下,你就直接进入了目标的数据库。
二般情况,你会遇到一些报错,例如:

SCRAM authentication requires libpq version 10 or above

原因

PostgreSQL 服务器启用了更安全的 SCRAM-SHA-256 密码加密方式(自 PostgreSQL 10 起默认支持),但客户端 libpq 库版本低于 10,无法支持此认证协议

解决方案

咱直接用docker解决

直接使用:

docker run --name pgdb -e POSTGRES_USER=postgres -e -v /宿主机数据目录:/var/lib/postgresql/data POSTGRES_PASSWORD=\'abUn^27fN2GlB2^J\' -p 30434:5432 -d postgres:latest