・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ PostgreSQL: 9.2.24 ・ Système d'exploitation: macOS Catalina
vagrant sshTerminal
$ vagrant ssh
yum avec la dernière versionTerminal
$ sudo yum -y update
PostgreSQLTerminal
$ sudo yum -y install postgresql
Terminal
$ sudo yum -y install postgresql-devel
Terminal
$ sudo yum -y install postgresql-server
Exécutez psql --version, et si la version est affichée, l'installation est terminée.
Terminal
$ psql --version
psql (PostgreSQL) 9.2.24
PostgreSQLTerminal
$ sudo postgresql-setup initdb
PostgreSQLTerminal
$ sudo service postgresql start
PostgreSQL et connectez-vousTerminal
$ sudo -u postgres psql
Terminal
postgres=# create role [Tout nom d'utilisateur] with createdb login password '[Tout mot de passe]';
Si le rôle est ajouté en exécutant \ du, la création du compte est terminée.
Terminal
postgres=# \du
                                    List of roles
  Role name      |                   Attributes                   | Member of 
-------------+------------------------------------------------+-----------
 [Tout nom d'utilisateur] | Create DB                                      | {}
 postgres        | Superuser, Create role, Create DB, Replication | {}
Vérifiez la base de données créée par sudo postgresql-setup initdb à l'étape 4.
Terminal
postgres=# \l
                             List of databases
   Name    |  Owner   | Encoding  | Collate | Ctype |   Access privileges   
-----------+----------+-----------+---------+-------+-----------------------
 postgres  | postgres | SQL_ASCII | C       | C     | 
 template0 | postgres | SQL_ASCII | C       | C     | =c/postgres          +
           |          |           |         |       | postgres=CTc/postgres
 template1 | postgres | SQL_ASCII | C       | C     | =c/postgres          +
           |          |           |         |       | postgres=CTc/postgres
(3 rows)
** * Veuillez vous référer à l'article suivant pour la différence entre template0 et template1. ** **
[Différence entre template0 et template1 de PostgreSQL](https://db.just4fun.biz/?PostgreSQL/template0%E3%81%A8template1%E3%81%AE%E9%81%95%E3%81%84%E3 % 81% AB% E3% 81% A4% E3% 81% 84% E3% 81% A6)
Puisque la base de données par défaut est SQLite, spécifiez PostgreSQL avec l'option -d.
Terminal
$ rails new sample -d postgresql
database.ymlPour le modèle, spécifiez template0 qui peut créer une base de données propre.
config/database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  template: template0
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username:Nom d'utilisateur défini à l'étape 6
  password:Mot de passe défini à l'étape 6
Terminal
$ rails db:create
FATAL: l'authentification d'identité a échoué pour l'utilisateur** ① Ouvrez le fichier de configuration PostgreSQL. ** **
Terminal
$ sudo vi /var/lib/pgsql/data/pg_hba.conf
** ② Modifiez la méthode d'authentification en bas. ** **
Changez METHOD en «md5».
pg_hba.conf
.
.
.
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
[Méthode d'authentification fréquemment utilisée]
ʻIdent: Le propriétaire de la base de données s'authentifie en faisant correspondre le nom d'utilisateur du système d'exploitation exécutant le shell,  md5: Authentifiez-vous avec un mot de passe.  trust`: pas d'authentification.
** [Avant la connexion] **
sudo service postgresql start: Démarrer
sudo service postgresql stop: Arrêter
sudo service postgresql restart: redémarrer
sudo -u postgres psql: Connexion
** [Après connexion] **
\ q: Déconnexion
\?: Affichage de l'aide
\ l: Affichage de la liste de la base de données
\ du: Affichage de la liste des utilisateurs
\ c nom de la base de données: se connecter à la base de données
\ z: Affichage de la liste des tableaux
Recommended Posts