Er zijn veel tools die worden gebruikt in Databasebeheer die het beheer van open source-databases helpen vereenvoudigen. Het voordeel van het gebruik van dit soort toepassingen is de beschikbaarheidsmenu's van verschillende objecten in de database (zoals tabellen, indexen, reeksen, procedures, views, triggers) zodat u de opdrachtregel niet hoeft te gebruiken bij gebruik van een native databaseclient . Je bladert gewoon door het menu en het verschijnt meteen op het scherm.
In deze blog bespreken we een van de databasebeheertoepassingen van derden voor PostgreSQL, pgAdmin genaamd. Het is een open source databasebeheertool die handig is voor databasebeheer, variërend van het maken van tabellen, indexen, views, triggers, opgeslagen procedures. Daarnaast kan pgAdmin de database ook controleren op informatie met betrekking tot sessies, transacties per seconde en vergrendeling.
pgAdmin Monitoring
Er zijn enkele statistieken in pgAdmin die waardevol inzicht kunnen zijn om de huidige staat van de database te begrijpen. Dit zijn de weergavestatistieken op pgAdmin.
In het Dashboard kunt u informatie over inkomende verbindingen met de database controleren via serversessies. Informatie met betrekking tot vastleggingstransacties, terugdraaiingen en totale transacties per seconde in de database kan worden bekeken in het scherm Transacties per seconde. Tuples in bevat informatie met betrekking tot het totale aantal tupels dat in de database wordt ingevoegd, bijgewerkt en verwijderd. Tuples out bevatten tuples-informatie die vanuit de database naar de client wordt teruggestuurd. Tuples zelf is een term in PostgreSQL voor rijen. Metrics Block I / O bevat informatie met betrekking tot schijfinformatie, zowel het totale aantal gelezen als opgehaalde blokken uit de databasecache.
Serveractiviteit bevat informatie met betrekking tot actieve sessies, vergrendeling die optreedt in de database, voorbereide instructies van query's en databaseconfiguratie. Zoals weergegeven in de onderstaande afbeelding.
In Eigenschappen kunt u informatie zien over de PostgreSQL-database die wordt geopend, zoals de databasenaam, het servertype, de databaseversie, het ip-adres en de gebruikte gebruikersnaam.
De SQL bevat informatie met betrekking tot het gegenereerde SQL-script dat is gemaakt op basis van een geselecteerd object als volgt:
De informatie in het gemarkeerde object wordt zeer gedetailleerd weergegeven, omdat het een script om een object te reconstrueren.
Op het tabblad Statistieken wordt de informatie met betrekking tot statistieken die zijn verzameld van elk object dat in de database wordt uitgevoerd, weergegeven in het menu.
Als voorbeeld bevat de bovenstaande tabel informatie over Tuples (ingevoegd, bijgewerkt , verwijderd, levend, dood). Er is ook informatie met betrekking tot vacuüm en auto-analyse.
Vacuüm wordt uitgevoerd om dode tuples in de database op te schonen en schijfopslag terug te winnen die wordt gebruikt door dode tupels. Terwijl de functies automatisch analyseren om statistieken over objecten te genereren, zodat de optimizer het uitvoeringsplan van een query nauwkeurig kan bepalen.
ClusterControl PostgreSQL-bewaking
ClusterControl heeft verschillende statistieken met betrekking tot de PostgreSQL-database die u kunt vinden op de tabbladen Overzicht, Knooppunten, Dashboard, Querymonitor en Prestaties. De volgende statistieken worden weergegeven in ClusterControl.
De sectie Overzicht bevat informatie over de serverbelasting, variërend van verbinding, aantal van insert, delete, update, commit &rollback en connectie. Daarnaast is er informatie zoals gezondheidsknooppunten, de replicatiestatus van de PostgreSQL-database en ook informatie met betrekking tot servergebruik, zoals weergegeven in de onderstaande afbeelding.
Het tabblad Nodes biedt grafiekgerelateerde informatie aan de serverzijde vanaf de CPU Gebruik, geheugen, schijfgebruik, netwerk en swapgebruik.
Het Dashboard heeft verschillende metrische opties, zoals Systeemoverzicht, Clusteroverzicht en PostgreSQL-overzicht. Voor elke optie zijn er verschillende metrieken die verband houden met de toestand van het draaiende systeem. In de PostgreSQL-overzichtsstatistieken is er bijvoorbeeld informatie variërend van laadgemiddelden uit de database, beschikbaar geheugen en netwerkoverdracht en -ontvangst, zoals hieronder weergegeven.
De Query Monitor bevat informatie over het uitvoeren van query's die op de database worden uitgevoerd. We kunnen achterhalen welke query's worden uitgevoerd, hoe lang de uitvoeringstijd is, de adresgegevens van de bronclient en de status van de sessie. Daarnaast is er een Kill session-functie, waarmee we de sessie kunnen beëindigen die ervoor zorgt dat de database vertragingen ondervindt. Het volgende is de weergave van Query Monitor:
Naast het uitvoeren van query's, kunnen we ook informatie over querystatistieken bekijken. van toegang door sequentiële of indexscan, tabel I / O-statistieken, index I / O-statistieken, databasegrootte, top 10 grootste tabellen.
Het tabblad Prestaties bevat informatie met betrekking tot databasevariabelen en de waarde die momenteel wordt uitgevoerd, daarnaast is er een adviseur om input te leveren met betrekking tot de follow-up van de opgetreden waarschuwing.
De groei van databases en tabellen kan ook worden gevolgd in het DB Growth-menu, u kunt opslagbehoeften of andere acties voorspellen die zullen worden uitgevoerd door de statistieken van de groei van deze databases en tabellen te analyseren.
PostgreSQL-beheertaken met pgAdmin
pgAdmin heeft verschillende functies voor databasebeheer en objecten in de database, variërend van het maken van tabellen, indexen, gebruikers en tablespaces. De verschillende functies van pgAdmin zijn erg handig voor zowel ontwikkelaars als DBA, omdat ze het beheren van database-objecten heel gemakkelijk maken. Hieronder ziet u hoe de menustructuur in pgAdmin eruitziet.
U kunt gewoon met de rechtermuisknop op het te markeren object klikken en dan is er zullen acties zijn die vanuit dat object kunnen worden gedaan. Als u bijvoorbeeld Database markeert, kunt u een nieuwe database als volgt maken:
Er zal een dialoogvenster zijn om de gegevens van de databasenaam in te vullen, de eigenaar van de aan te maken database, de codering die zal worden gebruikt, de tabelruimte die door de database zal worden gebruikt, beveiligingstoegang tot de database.
Welke gebruikers hebben recht op toegang en welke privileges zullen worden gegeven.
PostgreSQL-beheertaken met ClusterControl
ClusterControl kan ook gebruikers en privileges aanmaken die aan Gebruikersbeheer worden gegeven, zoals weergegeven in de volgende afbeelding.
Met ClusterControl kunt u zeer beschikbare PostgreSQL-databases implementeren. Het beheren van uw PostgreSQL is net zo eenvoudig als klikken op het menu in het dashboard. Er zijn enkele functies voor het beheren van uw PostgreSQL aan de clusterzijde, zoals Load Balancer toevoegen, Replication Slave toevoegen, Clusterherstel inschakelen/uitschakelen en Nodeherstel, zoals hieronder weergegeven.
U kunt ook een nieuw PostgreSQL-cluster maken en deze laten repliceren vanuit de actieve cluster met behulp van het menu-item Slavecluster maken. Cluster-naar-cluster replicatie is een nieuwe functie van ClusterControl.
Aan de Node-kant zijn er verschillende databasebeheertaken die u kunt uitvoeren, zoals Host opnieuw opstarten, Node opnieuw starten, Node stoppen, Slave promoten, Slave stoppen. U hebt op afstand toegang tot uw hosts via de SSH-console.
Rebuild Replication Slave is een handige functie om automatisch slave-servers te repareren die verder kapot gingen reparatie. Het stopt de slave, wist de inhoud ervan en streamt een nieuwe back-up van de masterserver. Zodra de back-up is toegepast, wordt de replicatie hervat, zodat deze de master weer kan inhalen. Dit alles met slechts een klik.
Er is ook een functie om de huidige status van uw PostgreSQL-topologie-architectuur te visualiseren in ClusterControl.
Het biedt in een oogopslag nuttige informatie over de huidige PostgreSQL-cluster, zoals zoals latentie tussen de knooppunten, database-uptime, versie van de database die u gebruikt, de synchronisatiestatus, replicatievertraging.
U kunt ook de configuratie wijzigen die verband houdt met de databaseparameters en het ACL-ip-adres dat toegang heeft tot de database in het configuratiemenu.
Het draaien van een gedistribueerde databaseomgeving vereist meestal een soort van taakverdeling en verkeerscontrole , omdat er meerdere database-instances zijn en toepassingen niet bijhouden welke de beschrijfbare master is en welke de alleen-lezen slaves. Met ClusterControl kunt u HAProxy hiervoor integreren. HAProxy kan zelf zeer beschikbaar worden gemaakt met Keepalive, zodat applicaties verbinding kunnen maken met één virtueel IP-adres dat naar een andere instantie wordt gestuurd voor het geval de primaire HAProxy-load balancer uitvalt.
ClusterControl heeft andere functies, zoals operationele rapporten, die wekelijks of maandelijks analyses bieden over servergebruik, uptime, beveiliging en capaciteit. pgAdmin is geweldig in het manipuleren van objecten in de database, terwijl ClusterControl meer gericht is op het bedienen en onderhouden van het systeem.