PostgreSQL & Rails på Ubuntu 20.04: Komplett guide

Introduksjon

PostgreSQL, et robust og anerkjent åpen kildekode databasesystem, er et glimrende valg for applikasjoner bygget med Ruby on Rails. Ubuntu 20.04, kjent for sin stabilitet og pålitelighet som en Linux-distribusjon, tilbyr en optimal plattform for samspillet mellom Rails-applikasjoner og PostgreSQL. Denne artikkelen tar deg gjennom prosessen med å forene PostgreSQL med din Ruby on Rails-applikasjon på Ubuntu 20.04. Vi vil behandle installasjon, konfigurering og tilkoblingsmetoder, slik at du får verktøyene du trenger for å skape solide og skalerbare webapplikasjoner.

1. Installere PostgreSQL på Ubuntu 20.04

Før du kan bruke PostgreSQL med din Rails applikasjon, må programvaren installeres på Ubuntu 20.04. Følg instruksjonene under:

1. Oppdatering av pakkelister: Begynn med å fornye Ubuntu sine pakkelister ved å utføre denne kommandoen i terminalen:


sudo apt update

2. Installere PostgreSQL: Bruk apt pakkebehandler for å installere PostgreSQL:


sudo apt install postgresql postgresql-contrib

Denne kommandoen vil installere både PostgreSQL serveren og de tilhørende utvidelsene.

3. Verifiser installasjonen: Forsikre deg om at PostgreSQL er installert ved å kjøre denne kommandoen:


psql --version

Hvis installasjonen er korrekt, vil du se informasjon om versjonen av PostgreSQL som er installert.

2. Konfigurere PostgreSQL

Med PostgreSQL installert er neste steg å konfigurere systemet for dine behov.

2.1. Etablere en bruker og database

Din Rails applikasjon trenger en egen bruker og database for tilkobling. Følg stegene nedenfor:

1. Logg inn som PostgreSQL superbruker: Utfør denne kommandoen for å logge inn som superbruker:


sudo -u postgres psql

2. Opprett en bruker: Lag en ny bruker dedikert til din Rails applikasjon:


CREATE USER rails_user WITH PASSWORD 'et_sterkt_passord';

Husk å erstatte 'et_sterkt_passord' med et sikkert og unikt passord.

3. Opprett en database: Lag en ny database for din applikasjon:


CREATE DATABASE rails_app_db OWNER rails_user;

Bytt ut 'rails_app_db' med et navn som er relevant for databasen din.

4. Gi brukeren tilgang: Sørg for at brukeren har tillatelse til å operere på databasen:


GRANT ALL PRIVILEGES ON DATABASE rails_app_db TO rails_user;

5. Avslutt PostgreSQL-skallet: Skriv \q og trykk Enter for å forlate psql-skallet.

3. Forberede Ruby on Rails-applikasjonen

Nå må du sette opp din Ruby on Rails-applikasjon for å koble seg til PostgreSQL-databasen.

3.1. Opprett en ny Rails-applikasjon

Om du ikke har en eksisterende Rails applikasjon, kan du starte en ny ved hjelp av denne kommandoen:


rails new min_rails_app

Endre 'min_rails_app' til det ønskede navnet på applikasjonen.

3.2. Konfigurere database.yml filen

Åpne config/database.yml filen i din Rails-applikasjon, og fyll ut informasjonen for tilkoblingen til PostgreSQL.


development:
  adapter: postgresql
  encoding: utf8
  host: localhost
  database: rails_app_db
  pool: 5
  username: rails_user
  password: et_sterkt_passord
# ... (andre miljøer)

Sørg for at stedsmarkørene stemmer med dine egne konfigurasjoner.

4. Aktivere migreringer og starte Rails-serveren

Nå er det klart for å aktivere migrasjoner og starte Rails-serveren.

4.1. Aktivere migreringer

Bruk rails db:migrate kommandoen for å opprette tabeller og andre databaseobjekter som er definert i dine migrasjonsfiler.

4.2. Starte Rails-serveren

Bruk rails server kommandoen for å starte Rails-applikasjonen.

5. Kommunisere med databasen fra Rails-applikasjonen

Nå kan du benytte ActiveRecord biblioteket i Rails for å samhandle med PostgreSQL-databasen. Her er et eksempel på hvordan du kan lage en modell:


class Artikkel < ApplicationRecord
  # ... (modelldefinisjon)
end

Denne modellen vil tillate deg å utføre operasjoner som å opprette, lese, oppdatere og slette data i rails_app_db databasen.

Konklusjon

I denne artikkelen har vi demonstrert prosessen for å bruke PostgreSQL sammen med en Ruby on Rails-applikasjon på Ubuntu 20.04. Vi har dekket installasjon, konfigurasjon og hvordan man kobler seg til databasen. Dette viser hvordan du kan integrere PostgreSQL i din Rails-applikasjon for å bygge pålitelige og skalerbare webapplikasjoner. Kombinasjonen av PostgreSQL og Rails-rammeverket er en kraftig løsning som kan møte dine webutviklingsbehov.

Når du arbeider med PostgreSQL og Rails, er det viktig å huske på sikkerhet. Bruk sterke passord for PostgreSQL-brukerne, og pass på at databasen din er beskyttet mot uautorisert tilgang. Du kan også overveie å bruke tilkoblingsbasert pooling for å optimere databasetilkoblingene.

Ofte Stilte Spørsmål

1. Hvordan sikkerhetskopierer jeg min PostgreSQL-database?

Du kan bruke verktøy som pg_dump for å sikkerhetskopiere PostgreSQL-databaser. Følg denne fremgangsmåten:

1. Logg inn som PostgreSQL-superbruker: sudo -u postgres psql
2. Kjør kommandoen \dt for å se en liste over dine tabeller.
3. Kjør kommandoen pg_dump -U rails_user rails_app_db > rails_app_db_backup.sql for å sikkerhetskopiere databasen.

2. Hvordan gjenoppretter jeg en PostgreSQL-database?

Du kan gjenopprette en sikkerhetskopiert PostgreSQL-database med psql-kommandoen.

1. Logg inn som PostgreSQL-superbruker: sudo -u postgres psql
2. Kjør kommandoen: \i rails_app_db_backup.sql

3. Hvordan oppdaterer jeg PostgreSQL på Ubuntu 20.04?

Du kan oppdatere PostgreSQL ved å bruke apt-pakkebehandleren. Kjør kommandoen sudo apt update && sudo apt upgrade postgresql.

4. Hvilke andre databasesystemer kan jeg benytte med Rails?

Rails støtter flere databasesystemer, inkludert MySQL, SQLite og MongoDB.

5. Hva er en migrering i Rails?

Migreringer i Rails er filer som definerer endringer i databaseskjemaet.

6. Hvor kan jeg finne mer informasjon om PostgreSQL og Rails?

PostgreSQL Dokumentasjon
Ruby on Rails Dokumentasjon

7. Hvordan kan jeg forbedre ytelsen til min PostgreSQL-database?

Du kan forbedre ytelsen ved å justere innstillinger, indeksere data og bruke mellomlagring.

8. Finnes det ressurser for å lære mer om databaseadministrasjon?

Det finnes mange ressurser for å lære databaseadministrasjon, inkludert online-kurs, bøker og artikler.

9. Hvordan kan jeg overvåke min PostgreSQL-database?

Du kan bruke verktøy som pgAdmin eller pgwatch2 for databaseovervåkning av PostgreSQL.

10. Hvordan kan jeg bidra til PostgreSQL-prosjektet?

Du kan bidra ved å rapportere feil, skrive dokumentasjon eller ved å bidra med kode.

Tags:

PostgreSQL, Ruby on Rails, Ubuntu 20.04, database, web utvikling, Linux, database administrasjon, database håndtering, Rails utvikling