Maintenant que je suis devenu ingénieur et que je suis entré en contact avec Linux et PostgreSQL, je garderai ce que j'ai appris pour mémoire. L'environnement est CentOS 7.2. Utilisez PostgreSQL.
Utilisez la commande psql pour travailler avec la base de données. La commande psql est une commande permettant de faire fonctionner le DB depuis le terminal. Cependant, tous les utilisateurs ne peuvent pas utiliser cette commande. (Cela semble possible si vous modifiez le paramètre.) Lors de l'utilisation de la base de données, basculez vers l'utilisateur postgres (ou basculez vers un utilisateur qui peut utiliser la commande psql) et exécutez la commande psqk au lieu de l'utilisateur root ou de l'utilisateur général pour faire fonctionner la base de données. Les commandes su et sudo sont utilisées lors du passage d'un utilisateur à l'autre.
La commande su est un utilisateur de remplacement, un super utilisateur ou un utilisateur de commutateur. Je l'ai recherché, mais je ne savais pas ce que cela représentait. Cela signifie changer d'utilisateur.
su - postgres
Passage à l'utilisateur postgres.
Concernant la présence ou l'absence de traits d'union
Notez la présence ou l'absence de "-". S'il y a un "-", l'environnement sera initialisé comme si vous vous connectiez directement. Autrement dit, le répertoire courant sera le répertoire personnel du nouvel utilisateur et toutes les variables d'environnement seront initialisées. S'il n'y a pas de "-", l'environnement actuel est laissé tel quel et seul l'utilisateur est commuté. (Nakajima Yoshikazu "LinuC Textbook LinuC Level 1 Version 10.0 Compatible" p425)
Il paraît que.
su -
mot de passe:
Si vous omettez le nom d'utilisateur, vous serez basculé vers l'utilisateur root et vous serez invité à entrer un mot de passe.
su - postgres
#Changer d'utilisateur pour postgres
psql test
#Accédez au serveur de test avec la commande psql
¥d
#Vous pouvez répertorier les tables du serveur de test en utilisant la marque \ (ou la barre oblique inverse) d.
¥d table
#Vous pouvez également lister les colonnes de cette table en entrant le nom de la table après \ d.
Après être passé à l'utilisateur postgres avec la commande su, spécifiez le serveur cible avec la commande psql, Vous allez écrire des instructions SQL telles que SELECT. Si vous changez d'utilisateur, cela restera le même, vous pouvez donc revenir à l'utilisateur d'origine avec ctrl + d.
Dans le cas de la commande sudo, vous pouvez écrire des instructions SQL sur une ligne à partir de sudo.
sudo -u postgres psql table -c "SELECT~";
Basculez l'utilisateur postgres de la commande sudo avec l'option u, spécifiez le DB appelé table à partir de la commande psql, et Puisque vous tapez la commande successivement, vous pouvez entrer l'instruction SQL en la plaçant dans l'option c et entre guillemets.
sudo -u postgres psql table -f /var/test.sql
De plus, si vous avez des instructions SQL dans un fichier, vous pouvez le faire en remplaçant l'option c par l'option f. Dans le cas ci-dessus, le fichier test.sql sous / var est en cours d'exécution.
Cependant, comme la commande sudo doit changer d'utilisateur à chaque fois et écrire des instructions SQL, Il peut être préférable de basculer une fois avec la commande su lors de l'écriture d'instructions SQL plusieurs fois.
Décrit la différence entre su et sudo pour passer à l'utilisateur postgres. Je pense que c'est plus profond, mais j'apprendrai à partir de maintenant.
Recommended Posts