Det finns många verktyg som används i databasadministration som hjälper till att förenkla hanteringen av databaser med öppen källkod. Fördelen med att använda dessa typer av applikationer är tillgänglighetsmenyerna från olika objekt i databasen (som tabeller, index, sekvenser, procedurer, vyer, triggers) så att du inte behöver använda kommandoraden när du använder en inbyggd databasklient . Du bläddrar bara i menyn och den kommer omedelbart att visas på skärmen.
I den här bloggen kommer vi att granska en av tredje parts databashanteringsapplikationer för PostgreSQL som heter pgAdmin. Det är ett databashanteringsverktyg med öppen källkod som är användbart för databasadministration, allt från att skapa tabeller, index, vyer, utlösare, lagrade procedurer. Utöver det kan pgAdmin också övervaka databasen för information relaterad till sessioner, transaktioner per sekund och låsning.
pgAdmin-övervakning
Det finns några mätvärden i pgAdmin som kan vara värdefulla insikter för att förstå databasens nuvarande tillstånd. Här är visningsstatistiken på pgAdmin.
I instrumentpanelen kan du övervaka information relaterad till inkommande anslutningar till databasen genom serversessioner. Information relaterad till commit-transaktioner, rollbacks och totala transaktioner per sekund i databasen kan ses på skärmen Transactions per Seconds. Tuples in innehåller information relaterad till totala tupler infoga, uppdatera, radera i databasen. Tuples out innehåller tuples information som returneras till klienten från databasen. Tuples i sig är en term i PostgreSQL för rader. Metrics Block I/O innehåller information relaterad till diskinformation, både totala lästa och hämtade block från databascachen.
Serveraktivitet innehåller information relaterad till pågående sessioner, låsning som sker i databasen, förberedda satser från frågor och databaskonfiguration. Som visas på bilden nedan.
I egenskaper kan du se information relaterad till PostgreSQL-databasen som håller på att åtkomst, såsom databasnamn, servertyp, databasversion, IP-adress och användarnamnet som används.
SQL innehåller information relaterad till det genererade SQL-skriptet som skapats från ett valt objekt enligt följande:
Informationen i det markerade objektet visas mycket detaljerat eftersom den innehåller ett skript för att rekonstruera ett objekt.
På fliken Statistik visas informationen relaterad till statistik som samlats in från varje objekt som körs i databasen på menyn.
Som ett exempel innehåller tabellen ovan information om Tuples (insatt, uppdaterad , raderad, levande, död). Det finns också information relaterad till vakuum och autoanalys.
Vacuum körs för att rensa döda tuplar i databasen och återta disklagring som används av döda tuplar. Medan automatiska analysera funktioner för att generera statistik om objekt så att optimeraren exakt kan bestämma exekveringsplanen för en fråga.
ClusterControl PostgreSQL-övervakning
ClusterControl har olika mätvärden relaterade till PostgreSQL-databasen som finns på flikarna Översikt, Noder, Dashboard, Query Monitor och Performance. Följande mätvärden visas i ClusterControl.
Översiktsavsnittet innehåller information relaterad till serverbelastningsstatistik, allt från anslutning, nummer av infoga, ta bort, uppdatera, commit &rollback och anslutning. Dessutom finns det information som hälsonoder, replikeringsstatus för PostgreSQL-databasen och även information relaterad till serveranvändning som visas i figuren nedan.
Fliken Noder ger grafrelaterad information på serversidan med start från CPU Användning, minne, diskanvändning, nätverks- och växlingsanvändning.
Dashboarden har flera statistikalternativ som systemöversikt, klusteröversikt och PostgreSQL översikt. För varje alternativ finns det olika mått som är relaterade till det körande systemets tillstånd. Till exempel, i PostgreSQL-översiktsstatistiken, finns information från belastningsmedelvärden från databasen, tillgängligt minne och nätverksöverföring och mottagning som visas nedan.
Frågeövervakaren innehåller information relaterad till att köra frågor som körs på databasen. Vi kan ta reda på vilka frågor som körs, hur lång exekveringstiden är, information om källklientens adress och tillståndet för sessionen. Förutom det finns det en Kill-sessionsfunktion, där vi kan avsluta sessionen som gör att databasen upplever förseningar. Följande är displayen från Query Monitor:
Förutom att köra frågor kan vi också se information om frågestatistik, med början från Access by Sequential eller index scan, Tabell I/O-statistik, Index I/O-statistik, Databasstorlek, Topp 10 största tabeller.
Fliken Prestanda innehåller information relaterad till databasvariabler och det värde som körs för närvarande, förutom att det finns en rådgivare som kan ge input relaterad till uppföljningen av varningen som inträffade.
Tillväxten av databaser och tabeller kan också övervakas på DB Growth-menyn, du kan förutsäga lagringsbehov eller andra åtgärder som kommer att utföras genom att analysera måtten för tillväxten av dessa databaser och tabeller.
PostgreSQL-administrationsuppgifter med pgAdmin
pgAdmin har olika funktioner för databasadministration och objekt som finns i databasen, allt från att skapa tabeller, index, användare och tabellutrymmen. De olika funktionerna i pgAdmin är mycket användbara för både utvecklare och DBA, eftersom de gör det mycket enkelt att hantera databasobjekt. Följande är utseendet på menyträdet i pgAdmin.
Du kan bara högerklicka på objektet som ska markeras, sedan finns det kommer att vara åtgärder som kan göras från det objektet. Om du till exempel markerar Database kan du skapa en ny databas så här:
Det kommer att finnas en dialogruta för att fylla i databasnamninformationen, ägare till databasen som ska skapas, kodningen som kommer att användas, tabellutrymmet som kommer att användas av databasen, säkerhetsåtkomst till databasen.
Vilka användare har rätt till åtkomst och vilka privilegier som kommer att ges.
PostgreSQL-administrationsuppgifter med ClusterControl
ClusterControl kan också skapa användare och privilegier som kommer att ges till Användarhantering som visas i följande figur.
Med ClusterControl kan du distribuera högt tillgängliga PostgreSQL-databaser. Att hantera din PostgreSQL är lika enkelt som att bara klicka på menyn i instrumentpanelen. Det finns några funktioner för att administrera din PostgreSQL på klustersidan, såsom Lägg till lastbalanserare, Lägg till replikeringsslav, Aktivera/Inaktivera klusteråterställning och Nodåterställning som visas nedan.
Du kan också skapa ett nytt PostgreSQL-kluster och få det att replikera från körningen kluster, med hjälp av menyalternativet Skapa slavkluster. Cluster-to-Cluster-replikering är en ny funktion som tillhandahålls av ClusterControl.
På nodsidan finns det flera databasadministrativa uppgifter som du kan göra, såsom Reboot Host, Restart Node, Stop Node, Promote Slave, Stop Slave. Du kan komma åt dina värdar på distans via SSH Console.
Rebuild Replication Slave är en snygg funktion för att automatiskt fixa slavservrar som bröt bortom reparera. Den stoppar slaven, raderar dess innehåll och streamar en ny säkerhetskopia från masterservern. När säkerhetskopieringen har tillämpats återupptas replikeringen så att den kan komma ikapp mastern igen. Allt detta med bara ett klick.
Det finns också en funktion för att visualisera det aktuella tillståndet för din PostgreSQL Topology-arkitektur i ClusterControl.
Den ger, med en snabb blick, användbar information om aktuellt PostgreSQL-kluster som t.ex. som latens mellan noderna, databasens drifttid, version av databasen som du använder, synkroniseringstillståndet, replikeringsfördröjning.
Du kan också ändra konfigurationen relaterad till databasparametrarna och ACL ip-adressen som har rätt att komma åt databasen i konfigurationsmenyn.
Att köra en distribuerad databasmiljö kräver vanligtvis någon form av lastbalansering och trafikkontroll , eftersom det finns flera databasinstanser och applikationer skulle inte hålla reda på vilken som är den skrivbara mastern och vilka som är skrivskyddade slavar. ClusterControl låter dig integrera HAProxy för detta ändamål. HAProxy kan i sig göras mycket tillgängligt med Keepalved, så att applikationer kan ansluta med en virtuell IP-adress som flyttas till en annan instans om den primära HAProxy-lastbalanseraren går ner.
ClusterControl har andra funktioner som driftrapporter, som tillhandahåller analyser om serveranvändning, drifttid, säkerhet och kapacitet på vecko- eller månadsbasis. pgAdmin är bra på att manipulera objekt i databasen, medan ClusterControl är mer inriktat på att driva systemet och hålla det uppe.