J'ai le problème suivant: Sur chaque machine exécutant Postgresql, il existe un postgres utilisateur spécial . Cet utilisateur dispose d'un accès administratif au serveur de base de données.
Maintenant, je veux écrire un script Bash qui exécute une commande de base de données avec psql en tant que postgres utilisateur (psql doit s'exécuter en tant que postgres utilisateur , pas le script). Jusqu'à présent, ce ne serait pas un problème: je pourrais simplement exécuter le script en tant que postgres utilisateur .
Cependant, je veux écrire la sortie de psql dans un fichier dans un répertoire où postgres n'a pas d'accès en écriture.
Comment puis je faire ça?
J'ai cependant pensé à changer les EUID dans le script lui-même:
- Je n'ai pas trouvé de moyen de changer l'EUID dans un script Bash
- Comment puis-je changer l'EUID lorsque j'utilise quelque chose comme
psql -U postgres -c "<command>" > file
?