sql >> Database >  >> RDS >> Database

Algemene Postgres-taken op CentOS 7

Deze handleiding leidt u door enkele veelvoorkomende taken rond een Postgres-server. In deze zelfstudie behandelen we het installeren van Postgres, het maken van nieuwe databases en gebruikers, het maken van back-ups van databases en meer! Laten we graven!

Opmerking:voor de rest van deze tutorial moet je root . hebben voorrechten. Begin door ofwel in te loggen als root of deze commando's vooraf te laten gaan met sudo .

PostgreSQL installeren

Het installeren van Postgres is eenvoudig in onze CentOS VPS-server, dankzij de YUM-pakketbeheerder. Voer de volgende opdracht uit om Postgres op uw systeem te installeren:

yum install -y postgres-server

PostreSQL configureren

Nu Postgres is geïnstalleerd, is het tijd om de service te configureren. Ten eerste vereist Postgres dat u een database initialiseert voordat deze kan worden gebruikt. Gelukkig bieden ze een commando om deze stap gemakkelijk voor ons te maken:

postgres-setup initdb

We zullen Postgres zo instellen dat het automatisch start wanneer uw server wordt opgestart. Voer de volgende opdracht uit om de service bij het opstarten in te schakelen:
systemctl enable postgres

Vervolgens beginnen we met de service. Het volgende commando start Postgres als het nog niet actief is:
systemctl start postgres

Ten slotte controleren we of Postgres actief is na de herstart:
service postgres status

De uitvoer zou actief (in werking) moeten zijn, wat aangeeft dat de service actief is en dat we klaar zijn om verder te gaan!

Een nieuwe database maken en een nieuwe gebruiker toevoegen

Postgres wordt uitgevoerd als de "postgres" -gebruiker op uw CentOS Linux-systeem, niet als "root". Dit is belangrijk om op te merken omdat je niet kunt communiceren met Postgres als root.

Laten we eerst overschakelen naar de "postgres ” gebruiker. Deze gebruiker is automatisch in uw systeem aangemaakt toen we Postgres installeerden.
su - postgres

Vervolgens maken we een nieuwe database aan. We noemen het "mijndatabase ” in ons voorbeeld, maar voel je vrij om dit een naam te geven zoals je wilt.
createdb mydatabase

Nu zullen we een nieuwe gebruiker voor die database toevoegen. In dit voorbeeld gebruiken we de gebruikersnaam "mijngebruikersnaam ”, maar je kunt dit een naam geven die je wilt.
createuser myusername

Machtigingen verlenen aan de PostgreSQL-database

Tot nu toe hebben we Postgres geïnstalleerd, een nieuwe database gemaakt en een nieuwe gebruiker gemaakt voor toegang tot de database. Er is nog maar één stap over, en dat is het verlenen van toestemmingen zodat onze nieuwe gebruiker toegang krijgt tot de database. Om dit proces te starten, moeten we eerst de "postgres-shell" invoeren. Voer het volgende commando in:
psql

Nadat je op enter hebt gedrukt, zou je moeten zien dat je opdrachtprompt is gewijzigd, wat aangeeft dat je je nu in de Postgres-shell bevindt.
psql (9.2.24)
Type “help” for help.
postgres =#

Vanaf hier kunnen we nu machtigingen toevoegen voor onze nieuwe gebruiker om toegang te krijgen tot de database. Voer de volgende opdracht in om een ​​wachtwoord voor onze gebruiker in te stellen. Er zijn weinig dingen om op te merken. Ten eerste zijn de enkele aanhalingstekens rond het wachtwoord vereist! Ten tweede, zorg ervoor dat u het voorbeeld my_secure_password . vervangt voor een legitiem veilig wachtwoord! Zorg er ten slotte voor dat u de puntkomma aan het einde van de verklaring opneemt. Het is gemakkelijk te missen!
alter username myusername with encrypted password ‘my_secure_password’;
Postgres zou moeten antwoorden met de volgende tekst om je te laten weten dat het gelukt is.
ALTER ROLE

Nu het wachtwoord is aangemaakt, gaan we machtigingen instellen voor de database. Hierdoor krijgt mijngebruikersnaam toegang tot mijndatabase.
grant all privileges on database mydatabase to myusername;
Postgres zal antwoorden met de volgende tekst als de opdracht is gelukt.
GRANT

Laten we ons werk eens controleren en controleren of de database in Postgres wordt weergegeven. Voer vanuit de shell de \list commando en observeer de output zorgvuldig. U zou "mijndatabase . moeten zien ” in de lijst met databases.

Werden gedaan! Voer de volgende opdracht in om de Postgres-shell te verlaten.
\quit

Een back-up maken van een PostgreSQL-database

Er zijn verschillende manieren om een ​​back-up te maken van een Postgres-database. Voor ons voorbeeld van vandaag laten we u zien hoe u de uitstekende "pg_dump . gebruikt ” commando, die uw volledige database als een enkel bestand uitvoert. Back-ups maken is een fluitje van een cent! Voer de volgende opdracht uit om een ​​back-up van onze database te maken. Merk op dat we de naam "mijndatabase.bak . hebben gebruikt ” in ons voorbeeld, maar u kunt uw back-upbestand een naam geven die u maar wilt.
pg_dump mydatabase > mydatabase.bak

U kunt dit bestand nu gemakkelijk kopiëren of verplaatsen waar u maar wilt om back-ups op te slaan. Als een kwestie van best practice raden we ten zeerste aan om uw back-ups op een speciale back-upschijf op te slaan, los van het station van uw besturingssysteem. Op deze manier zijn uw back-ups veilig en wel, zelfs in het onwaarschijnlijke geval van een systeemcrash.

Een PostgreSQL-database verwijderen

Het verwijderen van een database is een eenvoudig proces. Het vereist dat u eerst toegang krijgt tot de Postgres-shell. Een snelle herinnering dat u toegang kunt krijgen tot de Postgres-shell met het volgende commando:
psql
Vanaf hier is het een enkele opdracht om de database te verwijderen. Laten we onze voorbeelddatabase verwijderen.
drop database mydatabase
Postgres bevestigt het succes met het volgende bericht:
DROP DATABASE
Opmerking:als u een database opgeeft die niet bestaat, antwoordt Postgres met de volgende fout:
ERROR: database “my_other_database” does not exist
U kunt controleren of de database is verwijderd met behulp van de \list commando binnen de Postgres-shell. Bekijk de uitvoer en u zou moeten opmerken dat "mijndatabase ” is verwijderd uit de lijst met databases.

Een PostgreSQL-database herstellen vanaf back-ups

Nu we onze database met de naam "mijndatabase . hebben verwijderd ", laten we eens kijken hoe we die database kunnen herstellen vanaf de back-up die we hebben gemaakt. Eerst moeten we een lege sjabloon gebruiken om de herstelde database te huisvesten. Zorg ervoor dat u de volgende opdracht uitvoert als uw Postgres-gebruiker en vanuit de BASH-shell (niet de Postgres-shell!)
createdb -T template0 mydatabase

Nu we onze tijdelijke aanduiding voor sjabloon hebben, kunnen we gegevens importeren.
psql mydatabase < /path/to/mydatabase.bak
De database is nu hersteld. Als u \list . uitvoert opnieuw vanuit de Postgres-shell, u zult zien dat "mijndatabase" opnieuw verschijnt in onze lijst met databases!

Gefeliciteerd met het behalen van het einde van deze aflevering. We hebben veel behandeld in deze tutorial! We hebben nog maar de oppervlakte van dit onderwerp bekrast, en u kunt al beginnen te zien waarom databasebeheerders toegewijde functies in veel bedrijven bekleden! Gelukkig is Liquid Web hier om u te helpen met al uw databasebehoeften. Ons team van professionals kan u helpen bij het adviseren en beheren van uw databases. Stuur ons een bericht als je vragen hebt, en bedankt voor het lezen!


  1. 7 manieren om dubbele rijen met een primaire sleutel in MariaDB te retourneren

  2. Hoge beschikbaarheid beheren in PostgreSQL – Deel III:Patroni

  3. Helperfunctie invoegen/bijwerken met PDO

  4. Een beperking van een externe sleutel inschakelen in SQL Server (T-SQL-voorbeelden)