2017-08-15 1 views
1

Dans bash, un paramètre (généralement activé par défaut) fait en sorte que les commandes précédées d'un espace ne sont pas enregistrées dans le fichier historique.psql: Comment ne pas enregistrer une seule commande dans l'historique

Y a-t-il quelque chose d'analogue dans psql?

+0

Fonction intéressante dans bash. Et non, pas autant que je sache. Un correctif pourrait être accepté si vous en avez soumis un. Cependant, vérifiez les docs 'readline', peut-être y'a-t-il un moyen de le faire avec readline ... –

+0

@CraigRinger J'ai donc fouiné dans la source et trouvé une réponse. Il utilise le même nom de variable et les mêmes paramètres que la version Bash de l'entité. –

Répondre

1

Cela est donc possible.

Ajoutez \set HISTCONTROL ignorespace à votre fichier .psqlrc.

Ensuite, lorsque vous précèdez une commande avec un espace, par exemple en définissant un mot de passe, il ne sera pas ajouté au fichier historique.

De l'manual:

HISTCONTROL

Si cette variable est définie sur ignorespace, les lignes commençant par un espace ne sont pas entrés dans la liste historique. Si la valeur est ignoredups, les lignes correspondant à la ligne d'historique précédente ne sont pas entrées. La valeur de ignoreboth combine les deux options. Si elle n'est pas définie, ou si elle est définie sur none (ou toute autre valeur que celles ci-dessus), toutes les lignes lues en mode interactif sont enregistrées dans la liste de l'historique.

+0

Belle trouvaille, merci de la chercher. J'utilise psql depuis des années et je n'en avais aucune idée. –