[RUBY] [Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung

Entwicklungsumgebung

・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ PostgreSQL: 9.2.24 ・ Betriebssystem: macOS Catalina

Implementierung

1. Melden Sie sich bei vagrant ssh an

Terminal


$ vagrant ssh

2. Aktualisieren Sie yum auf die neueste Version

Terminal


$ sudo yum -y update

3. Installieren Sie "PostgreSQL"

Terminal


$ sudo yum -y install postgresql

Terminal


$ sudo yum -y install postgresql-devel

Terminal


$ sudo yum -y install postgresql-server

Führen Sie psql --version aus, und wenn die Version angezeigt wird, ist die Installation abgeschlossen.

Terminal


$ psql --version
psql (PostgreSQL) 9.2.24

4. Initialisieren Sie "PostgreSQL"

Terminal


$ sudo postgresql-setup initdb

5. Starten Sie "PostgreSQL"

Terminal


$ sudo service postgresql start

6. Erstellen Sie ein PostgreSQL-Konto und melden Sie sich an

Terminal


$ sudo -u postgres psql

Terminal


postgres=# create role [Beliebiger Benutzername] with createdb login password '[Beliebiges Passwort]';

Wenn die Rolle durch Ausführen von "\ du" hinzugefügt wird, ist die Kontoerstellung abgeschlossen.

Terminal


postgres=# \du
                                    List of roles
  Role name      |                   Attributes                   | Member of 
-------------+------------------------------------------------+-----------
 [Beliebiger Benutzername] | Create DB                                      | {}
 postgres        | Superuser, Create role, Create DB, Replication | {}

7. Überprüfen Sie die Datenbank

Überprüfen Sie die von sudo postgresql-setup initdb in Schritt 4 erstellte Datenbank.

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)

** * Den Unterschied zwischen template0 und template1 finden Sie im folgenden Artikel. ** ** **

[Unterschied zwischen template0 und template1 von 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)

8. Erstellen Sie eine Rails-App

Da die Standarddatenbank SQLite ist, geben Sie PostgreSQL mit der Option -d an.

Terminal


$ rails new sample -d postgresql

9. Bearbeiten Sie database.yml

Geben Sie für die Vorlage "template0" an, mit der eine saubere Datenbank erstellt werden kann.

config/database.yml


default: &default
  adapter: postgresql
  encoding: unicode
  template: template0
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username:In Schritt 6 festgelegter Benutzername
  password:In Schritt 6 festgelegtes Passwort

10. Erstellen Sie eine Datenbank

Terminal


$ rails db:create

* Wenn Sie die Fehlermeldung "FATAL: Ident-Authentifizierung für Benutzer fehlgeschlagen" erhalten

** ① Öffnen Sie die PostgreSQL-Konfigurationsdatei. ** ** **

Terminal


$ sudo vi /var/lib/pgsql/data/pg_hba.conf

** ② Bearbeiten Sie die Authentifizierungsmethode unten. ** ** **

Ändern Sie METHODE in "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

[Häufig verwendete Authentifizierungsmethode]

ident: Der DB-Besitzer authentifiziert sich, wenn er mit dem Benutzernamen des Betriebssystems übereinstimmt, auf dem die Shell ausgeführt wird. md5: Authentifizieren Sie sich mit einem Passwort. trust: Keine Authentifizierung.

Häufig verwendete Befehle

** [Vor dem Login] **

sudo service postgresql start: Start sudo service postgresql stop: Stop sudo service postgresql restart: Neustart sudo -u postgres psql: Login

** [Nach dem Login] **

\ q: Abmelden \?: Hilfeanzeige \ l: Datenbanklistenanzeige \ du: Benutzerlistenanzeige \ c Datenbankname: Verbindung zur Datenbank herstellen \ z: Tabellenlistenanzeige

Recommended Posts

[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
Verwendung von MySQL im Rails-Tutorial
Verwendung von Umgebungsvariablen in RubyOnRails
Verwendung von credentials.yml.enc aus Rails 5.2
[Rails] Verwendung von Auswahlfeldern in Ransack
Verwendung von JQuery in Rails 6 js.erb
[Rails] Verwendung von Enum
Verwendung von Rails Join
[Rails] So verwenden Sie authenticate_user!
[Schienen] Verwendung von Scope
Anfänger verwenden Ubuntu im Fenster, um die Schienenumgebung vorzubereiten
[Rails] Wie man Edelstein "devise" benutzt
Wie man Lombok im Frühling benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
Verwendung von Ruby on Rails
Verwendung von InjectorHolder in OpenAM
[Rails] Verwendung von Active Storage
So installieren Sie jQuery in Rails 6
Wie verwende ich Klassen in Java?
[Einführung in Rails] Verwendung von Render
So installieren Sie Swiper in Rails
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
So ändern Sie den App-Namen in Rails
Verwendung des benannten Volumes in docker-compose.yml
So fügen Sie ein Video in Rails ein
[Rails] Verwendung von ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Schienen] Verwendung der Kartenmethode
Verwendung von Docker in VSCode DevContainer
[Rails] So konfigurieren Sie das Routing in Ressourcen
[Ruby on Rails] Verwendung von redirect_to
So implementieren Sie Ranking-Funktionen in Rails
[Hinweis] Verwendung von Rails 6 Devise + Cancancan
Verstehe in 5 Minuten !! Wie man Docker benutzt
[Rails] Verwendung der Hilfsmethode, Confimartion
So erstellen Sie eine Rails 6-Umgebung mit Docker
Verwendung von ExpandableListView in Android Studio
[Rails] Ausführen von "Rails db: create" usw. in der Produktionsumgebung EC2
Verwendung von Map
Wie schreibe ich Rails
Wie benutzt man rbenv?
So verknüpfen Sie Rails6 Vue (aus dem Umgebungsbau)
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von Schienen g Gerüst, Funktionen, Vorsichtsmaßnahmen
Verwendung von collection_select
So installieren Sie Titan 2D (v4.2.0) in einer virtuellen Umgebung
Wie man Rails allgemein ins Japanische übersetzt
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
Verwendung von MapStruct