BASE DE CONNAISSANCES

Erreur "org.postgresql.util.PSQLException: Connection to localhost:8060 refused"


Date de publication : 31 Aug 2016
Date de dernière modification : 20 Jul 2023

Problème

Les connexions à Tableau Server échouent et les commandes permettant de se connecter au référentiel PostgreSQL interne renvoient l'erreur suivante :

The driver encountered an unknown error: org.postgresql.util.PSQLException: Connection to localhost:8060 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. (Le pilote a rencontré une erreur inconnue : org.postgresql.util.PSQLException : Connexion à localhost:8060 refusée. Vérifiez que le nom d'hôte et le port sont corrects et que l'administrateur accepte les connexions TCP/IP.)

Environnement

Tableau Server

Résolution

Déterminez l'état actuel de Tableau Server en exécutant tabadmin status -v depuis une invite de commande. Pour plus d'informations, consultez Commandes tabadmin : status.
 
  • Si l'état tabadmin montre que le référentiel Tableau Server est Arrêté :
    1. Vérifiez que le compte Exécuter en tant qu'utilisateur dispose des autorisations nécessaires décrites dans Paramètres requis du compte Exécuter en tant qu'utilisateur.
    2. Redémarrez Tableau Server. 
  • Si l'état tabadmin affiche que le Référentiel Tableau Server est en cours de configuration, augmentez le délai d'expiration de la connexion pour le référentiel :

    Ouvrez l'invite de commande en tant qu'administrateur et exécutez les commandes suivantes :
    tabadmin stop
    tabadmin set clustercontroller.pgsql_connection_timeout_ms 6000
    tabadmin config
    tabadmin start


    Si le problème persiste après avoir défini la valeur sur 6000, vous pouvez l'augmenter à nouveau, jusqu'à un maximum de 60000. Pour des résultats optimaux, nous vous recommandons d'utiliser la valeur la plus faible possible.

     
  • Si l'état tabadmin est En cours d'exécution : 

    Il se peut qu'un pare-feu ou un antivirus empêche la communication avec le référentiel Tableau Server. Pour plus d'informations, consultez Configuration de la communication avec Internet

Cause

Le référentiel Tableau Server ne peut pas démarrer correctement. Le référentiel Tableau Server contient toutes les informations d'authentification à l'origine de l'échec des connexions.

Informations supplémentaires

Tableau Server attend un certain temps (60 secondes par défaut) que la base de données démarre avant de réessayer ou de la redémarrer. Les 2 paramètres workgroup.yml suivants déterminent le délai d'expiration :

clustercontroller.pgsql_connection_attempts  (valeur par défaut=20)
clustercontroller.pgsql_connection_timeout_ms (valeur par défaut=3000)

Le produit de ces 2 valeurs détermine la durée totale du délai d'expiration (60000 ms ou 60 secondes).

Augmenter la valeur du paramètre clustercontroller.pgsql_connection_timeout_ms augmente la durée pendant laquelle le contrôleur de cluster attend une réponse de Postgres avant de tenter un basculement. Augmenter les valeurs de ce paramètre peut avoir un impact négatif sur les performances de Tableau Server. Par exemple, il peut augmenter la durée pendant laquelle Tableau Server cesse de répondre en cas de panne, car le contrôleur de cluster attendra plus longtemps avant de redémarrer Postgres s'il est en panne. C'est pourquoi nous recommandons d'utiliser la valeur la plus faible possible pour ce paramètre. 
La meilleure solution consiste toujours à analyser les facteurs environnementaux qui sont à l'origine du démarrage lent de Postgres. Modifier le paramètre clustercontroller.pgsql_connection_timeout_ms peut être utile comme solution rapide si vous recherchez un correctif à long terme pour des performances lentes.
 

Cet article vous a-t-il permis de résoudre le problème ?