sql >> Databasteknik >  >> RDS >> Database

Vanliga Postgres-uppgifter på CentOS 7

Den här guiden leder dig genom några vanliga uppgifter kring en Postgres-server. I den här handledningen kommer vi att täcka installation av Postgres, skapa nya databaser och användare, säkerhetskopiera databaser och mer! Låt oss gräva i!

Obs:Resten av denna handledning kräver att du har root privilegier. Börja med att antingen logga in som root eller prefix dessa kommandon med sudo .

Installera PostgreSQL

Att installera Postgres är enkelt i vår CentOS VPS-server, tack vare YUM-pakethanteraren. Kör följande kommando för att installera Postgres på ditt system:

yum install -y postgres-server

Konfigurera PostreSQL

Nu när Postgres är installerat är det dags att konfigurera tjänsten. Först kräver Postgres att du initierar en databas innan den kan användas. Lyckligtvis ger de ett kommando för att göra detta steg enkelt för oss:

postgres-setup initdb

Vi kommer att ställa in Postgres att starta automatiskt när din server startas. Kör följande kommando för att aktivera tjänsten vid uppstart:
systemctl enable postgres

Därefter kommer vi att starta tjänsten. Följande kommando startar Postgres om det inte redan körs:
systemctl start postgres

Slutligen kontrollerar vi att Postgres körs efter omstarten:
service postgres status

Utdatan ska visa aktiv (kör) vilket indikerar att tjänsten är uppe och vi är redo att fortsätta!

Skapa en ny databas och lägga till en ny användare

Postgres körs som "postgres"-användare på ditt CentOS Linux-system, inte som "root". Detta är viktigt att notera eftersom du inte kan interagera med Postgres som root.

Låt oss först byta till "postgres " användare. Den här användaren skapades automatiskt i ditt system när vi installerade Postgres.
su - postgres

Därefter skapar vi en ny databas. Vi kallar det "min databas ” i vårt exempel, men namnge detta vad du vill.
createdb mydatabase

Nu lägger vi till en ny användare för den databasen. I det här exemplet använder vi användarnamnet "mittanvändarnamn ”, men du kan namnge det här vad du vill.
createuser myusername

Ge behörigheter till PostgreSQL-databasen

Hittills har vi installerat Postgres, skapat en ny databas och skapat en ny användare för åtkomst till databasen. Det återstår bara ett steg, och det är att ge behörigheter så att vår nya användare får tillgång till databasen. För att starta denna process måste vi först gå in i "postgres-skalet". Ange följande kommando:
psql

Efter att du tryckt på enter bör du märka att din kommandotolk har ändrats, vilket indikerar att du nu är i Postgres-skalet.
psql (9.2.24)
Type “help” for help.
postgres =#

Härifrån kan vi nu lägga till behörigheter för vår nya användare att komma åt databasen. Ange följande kommando för att ställa in ett lösenord för vår användare. Det finns få saker att notera. Först krävs de enstaka citattecken runt lösenordet! För det andra, se till att ersätta exemplet my_secure_password för ett legitimt säkert lösenord! Slutligen, se till att inkludera semikolon i slutet av påståendet. Det är lätt att missa!
alter username myusername with encrypted password ‘my_secure_password’;
Postgres bör svara med följande text som låter dig veta att det lyckades.
ALTER ROLE

Nu när lösenordet har skapats kommer vi att ställa in behörigheter för databasen. Detta kommer att tillåta myusername att komma åt mindatabas.
grant all privileges on database mydatabase to myusername;
Postgres kommer att svara med följande text om kommandot lyckades.
GRANT

Låt oss dubbelkolla vårt arbete och verifiera att databasen dyker upp i Postgres. Kör \listan från skalet kommando och observera utmatningen noggrant. Du bör se "min databas ” i listan över databaser.

Var gjort! Ange följande kommando för att lämna Postgres-skalet.
\quit

Hur man säkerhetskopierar en PostgreSQL-databas

Det finns flera sätt att säkerhetskopiera en Postgres-databas. För vårt exempel idag kommer vi att visa dig hur du använder den utmärkta "pg_dump ” kommando, som matar ut hela din databas som en enda fil. Att skapa säkerhetskopior är ett kick! Kör följande kommando för att säkerhetskopiera vår databas. Observera att vi använde namnet "mydatabase.bak ” i vårt exempel, men du kan namnge din backupfil vad du vill.
pg_dump mydatabase > mydatabase.bak

Du kan nu enkelt kopiera eller flytta den här filen vart du vill för att lagra säkerhetskopior. Som en fråga om bästa praxis rekommenderar vi starkt att du lagrar dina säkerhetskopior på en dedikerad säkerhetskopieringsdisk, separat från operativsystemets enhet. På så sätt är dina säkerhetskopior säkra och sunda, även i den osannolika händelsen av en systemkrasch.

Hur man tar bort en PostgreSQL-databas

Att ta bort en databas är en enkel process. Det kräver att du först kommer åt Postgres-skalet. En snabb påminnelse om att du kan komma åt Postgres-skalet med följande kommando:
psql
Härifrån är det ett enda kommando för att radera databasen. Låt oss ta bort vår exempeldatabas.
drop database mydatabase
Postgres bekräftar framgång med följande meddelande:
DROP DATABASE
Obs:Om du anger en databas som inte finns kommer Postgres att svara med följande felmeddelande:
ERROR: database “my_other_database” does not exist
Du kan verifiera att databasen har tagits bort genom att använda \listan kommandot i Postgres-skalet. Observera utdata, och du bör märka att "min databas ” har tagits bort från listan över databaser.

Hur man återställer en PostgreSQL-databas från säkerhetskopior

Nu när vi har tagit bort vår databas som heter "min databas ”, låt oss se hur du återställer databasen från säkerhetskopian vi skapade. Först måste vi använda en tom mall för att hysa den återställda databasen. Se till att köra följande kommando som din Postgres-användare och från BASH-skalet, (inte Postgres-skalet!)
createdb -T template0 mydatabase

Nu när vi har vår mallplatshållare kan vi importera data.
psql mydatabase < /path/to/mydatabase.bak
Databasen har nu återställts. Om du kör \list igen från Postgres-skalet kommer du att se "min databas" visas igen i vår lista över databaser!

Grattis till att du kommit till slutet av den här delen. Vi täckte mycket mark i denna handledning! Vi har bara skrapat på ytan av detta ämne, och du kan redan börja se varför databasadministratörer har dedikerade positioner i många företag! Lyckligtvis är Liquid Web här för att hjälpa dig med alla dina databasbehov. Vårt team av proffs kan hjälpa dig ge råd och hantera dina databaser. Skriv till oss om du har några frågor och tack för att du läser!


  1. Infoga i flera tabeller i en fråga

  2. Hur man listar de föråldrade funktionerna i en SQL Server-instans med T-SQL

  3. Användning av MySQL:s IF FINNS

  4. PostgreSQL-fel när du försöker skapa ett tillägg