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!