zoukankan      html  css  js  c++  java
  • (转载)postgresql navicat 客户端连接验证失败解决方法:password authentication failed for user

    命令:su - postgres

    CREATE USER foo WITH PASSWORD 'secret';

    ====================

    1、2个配置修改

    postgresql.conf:修改

    listen_addresses = '*'

    pg_hba.conf:增加

    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    host    all                all                0.0.0.0/0                md5

    2、创建用户

    命令:su - postgres

    CREATE USER foo WITH PASSWORD 'secret';

    (原文如下)

    Redhat上新装PostgreSQL9.1.3, 用psql连不上, 报错:

    psql.bin: FATAL:  password authentication failed for user "postgres"
    明明添加了postgres这个用户, 口令也简单的不得了,不可能记错的, 怎么就连不上呢?
     
    上网查,有人说修改pg_hba.conf, 把local一行的md5改成trust。一试,果然好使。
     
    后来,客户机远程登录,出现同样问题,于是咱如法炮制,再把md5改成了trust,也能登录了,
     
    只要获取对方的信任(trust),问题真的就不是问题了,呵。
     
    但这种做法对于服务器而言,相当于把自家的锁砸了:设置成trust后,根本就不需要口令。
     
    我再google,中间突然打不开链接,于是只好耐心地等了5分钟。来火,但是没办法。网络封锁和网络搜索,一不小心就成了一对冤家。  www.2cto.com  
     
    终于,老天有眼,让我找到了下面一段话:
     
    PostgreSQL 数据库口令与任何操作系统用 户口令无关。各个数据库用户的口令是存储在 pg_authid 系统表里面。口令可以用 SQL 语言命令 CREATE USER 和 ALTER USER 等管理(比如 CREATE USER foo WITH PASSWORD 'secret'; 。缺省时,如果没有明确设置口令,那么存储的口令是空并且该用户的口令认证总会失败。
    《PostgreSQL 8.2.3 中文文档,20.2 认证方法》
     
    原来是这样啊,pg_authid表里的postgres用户的口令还是空的呢!
    我再改,好了,这回是真好了。
     
  • 相关阅读:
    libevent的问题
    mysql homedir迁移
    mysql海量数据的优化
    Spark(Hive) SQL中UDF的使用(Python)【转】
    Spark SQL inferSchema实现原理探微(Python)【转】
    Spark SQL利器:cacheTable/uncacheTable【转】
    Spark使用CombineTextInputFormat缓解小文件过多导致Task数目过多的问题【转】
    ExecutorService-10个要诀和技巧【转】
    漫游Kafka之过期数据清理【转】
    kafka多线程消费及处理和手动提交处理方案设计[转]
  • 原文地址:https://www.cnblogs.com/showker/p/4324546.html
Copyright © 2011-2022 走看看