sql >> Database teknologi >  >> RDS >> Database

Almindelige Postgres-opgaver på CentOS 7

Denne guide leder dig gennem nogle almindelige opgaver omkring en Postgres-server. I denne vejledning dækker vi installation af Postgres, oprettelse af nye databaser og brugere, sikkerhedskopiering af databaser og mere! Lad os grave i!

Bemærk:Resten af ​​denne øvelse kræver, at du har root privilegier. Start med enten at logge ind som root eller præfiks disse kommandoer med sudo .

Installation af PostgreSQL

Det er nemt at installere Postgres i vores CentOS VPS-server takket være YUM-pakkehåndteringen. Kør følgende kommando for at installere Postgres på dit system:

yum install -y postgres-server

Konfiguration af PostreSQL

Nu hvor Postgres er installeret, er det tid til at konfigurere tjenesten. For det første kræver Postgres, at du initialiserer en database, før den kan bruges. Heldigvis giver de en kommando til at gøre dette trin nemt for os:

postgres-setup initdb

Vi indstiller Postgres til at starte automatisk, når din server er startet op. Kør følgende kommando for at aktivere tjenesten ved opstart:
systemctl enable postgres

Dernæst starter vi tjenesten. Følgende kommando starter Postgres, hvis den ikke allerede kører:
systemctl start postgres

Til sidst kontrollerer vi, at Postgres kører efter genstart:
service postgres status

Outputtet skulle vise aktivt (kører), hvilket indikerer, at tjenesten er oppe, og vi er klar til at fortsætte!

Oprettelse af en ny database og tilføjelse af en ny bruger

Postgres kører som "postgres"-brugeren på dit CentOS Linux-system, ikke som "root". Dette er vigtigt at bemærke, fordi du ikke kan interagere med Postgres som root.

Lad os først skifte til "postgres ” bruger. Denne bruger blev automatisk oprettet i dit system, da vi installerede Postgres.
su - postgres

Dernæst opretter vi en ny database. Vi kalder det "min database ” i vores eksempel, men du er velkommen til at navngive dette, hvad du vil.
createdb mydatabase

Nu tilføjer vi en ny bruger til den database. I dette eksempel bruger vi brugernavnet "mitbrugernavn ”, men du kan navngive dette hvad du vil.
createuser myusername

Tildeling af tilladelser til PostgreSQL-databasen

Indtil videre har vi installeret Postgres, oprettet en ny database og oprettet en ny bruger til at få adgang til databasen. Der er kun et trin tilbage, og det er at give tilladelser, så vores nye bruger får adgang til databasen. For at starte denne proces skal vi først indtaste "postgres shell". Indtast følgende kommando:
psql

Efter du har trykket på Enter, bør du bemærke, at din kommandoprompt har ændret sig, hvilket indikerer, at du nu er i Postgres-skallen.
psql (9.2.24)
Type “help” for help.
postgres =#

Herfra kan vi nu tilføje tilladelser for vores nye bruger til at få adgang til databasen. Indtast følgende kommando for at indstille en adgangskode til vores bruger. Der er få ting at bemærke. For det første kræves de enkelte anførselstegn omkring adgangskoden! For det andet skal du sørge for at erstatte eksemplet my_secure_password for en legitim sikker adgangskode! Sørg endelig for at inkludere semikolon i slutningen af ​​sætningen. Det er nemt at gå glip af!
alter username myusername with encrypted password ‘my_secure_password’;
Postgres skal svare med følgende tekst for at fortælle dig, at det lykkedes.
ALTER ROLE

Nu hvor adgangskoden er oprettet, sætter vi tilladelser til databasen. Dette vil tillade mit brugernavn at få adgang til min database.
grant all privileges on database mydatabase to myusername;
Postgres vil svare med følgende tekst, hvis kommandoen lykkedes.
GRANT

Lad os dobbelttjekke vores arbejde og kontrollere, at databasen vises i Postgres. Kør \list fra skallen kommando og observer outputtet omhyggeligt. Du bør se "min database ” i listen over databaser.

Vi er færdige! Indtast følgende kommando for at forlade Postgres-skallen.
\quit

Sådan sikkerhedskopieres en PostgreSQL-database

Der er flere måder at sikkerhedskopiere en Postgres-database på. Til vores eksempel i dag vil vi vise dig, hvordan du bruger den fremragende "pg_dump kommando, som udsender hele din database som en enkelt fil. Oprettelse af sikkerhedskopier er et snuptag! Kør følgende kommando for at sikkerhedskopiere vores database. Bemærk, at vi brugte navnet "mydatabase.bak ” i vores eksempel, men du kan navngive din backup-fil, hvad du vil.
pg_dump mydatabase > mydatabase.bak

Du kan nu nemt kopiere eller flytte denne fil, hvorhen du vil, for at gemme sikkerhedskopier. Som et spørgsmål om bedste praksis, anbefaler vi kraftigt, at du gemmer dine sikkerhedskopier på en dedikeret backup-disk, adskilt fra dit operativsystems drev. På denne måde er dine sikkerhedskopier sikre og forsvarlige, selv i det usandsynlige tilfælde af et systemnedbrud.

Sådan sletter du en PostgreSQL-database

Sletning af en database er en ligetil proces. Det kræver, at du først får adgang til Postgres-skallen. En hurtig påmindelse om, at du kan få adgang til Postgres-skallen med følgende kommando:
psql
Herfra er det en enkelt kommando til at slette databasen. Lad os slette vores eksempeldatabase.
drop database mydatabase
Postgres bekræfter succes med følgende besked:
DROP DATABASE
Bemærk:Hvis du angiver en database, der ikke eksisterer, vil Postgres svare med følgende fejl:
ERROR: database “my_other_database” does not exist
Du kan bekræfte, at databasen er slettet ved at bruge \list kommando i Postgres-skallen. Observer outputtet, og du bør bemærke, at "min database ” er blevet fjernet fra listen over databaser.

Sådan gendanner du en PostgreSQL-database fra sikkerhedskopier

Nu hvor vi har slettet vores database kaldet "min database ”, lad os se, hvordan du gendanner databasen fra den sikkerhedskopi, vi oprettede. Først skal vi bruge en tom skabelon til at huse den gendannede database. Sørg for at køre følgende kommando som din Postgres-bruger og fra BASH-skallen (ikke Postgres-skallen!)
createdb -T template0 mydatabase

Nu hvor vi har vores skabelonpladsholder, kan vi importere data.
psql mydatabase < /path/to/mydatabase.bak
Databasen er nu gendannet. Hvis du kører \list igen fra Postgres-skallen, vil du se "min database" igen vises i vores liste over databaser!

Tillykke med at nå slutningen af ​​dette afsnit. Vi dækkede meget i denne tutorial! Vi har kun ridset overfladen af ​​dette emne, og du kan allerede begynde at se, hvorfor databaseadministratorer har dedikerede stillinger i mange virksomheder! Heldigvis er Liquid Web her for at hjælpe dig med alle dine databasebehov. Vores team af professionelle kan hjælpe med at rådgive og administrere dine databaser. Skriv til os, hvis du har spørgsmål, og tak fordi du læste med!


  1. Sådan fungerer RLIKE-operatøren i MySQL

  2. Hvordan kan jeg finde Unicode/ikke-ASCII-tegn i et NTEXT-felt i en SQL Server 2005-tabel?

  3. Databaseskema, autoincrement

  4. Hvordan bruger man Room Persistence Library med forududfyldt database?