・ 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 ssh
Terminal
$ vagrant ssh
yum
avec la dernière versionTerminal
$ sudo yum -y update
PostgreSQL
Terminal
$ 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
PostgreSQL
Terminal
$ sudo postgresql-setup initdb
PostgreSQL
Terminal
$ 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.yml
Pour 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