Der er mange værktøjer, der bruges i databaseadministration, som hjælper med at forenkle administrationen af open source-databaser. Fordelen ved at bruge disse typer applikationer er tilgængelighedsmenuerne fra forskellige objekter i databasen (såsom tabeller, indekser, sekvenser, procedurer, visninger, triggere), så du ikke behøver at bruge kommandolinjen, når du bruger en indbygget databaseklient . Du skal blot gennemse menuen, og den vises straks på skærmen.
I denne blog vil vi gennemgå en af tredjeparts databasestyringsapplikationer til PostgreSQL kaldet pgAdmin. Det er et open source-databasestyringsværktøj, der er nyttigt til databaseadministration, lige fra oprettelse af tabeller, indekser, visninger, triggere, lagrede procedurer. Udover det kan pgAdmin også overvåge databasen for information relateret til sessioner, transaktioner pr. sekund og låsning.
pgAdmin-overvågning
Der er nogle metrics i pgAdmin, som kan være værdifuld indsigt for at forstå databasens aktuelle tilstand. Her er visningsmålingerne på pgAdmin.
I Dashboard kan du overvåge information relateret til indgående forbindelser til databasen gennem serversessioner. Oplysninger relateret til commit-transaktioner, rollbacks og samlede transaktioner per sekund i databasen kan ses på skærmbilledet Transactions per Seconds. Tuples in indeholder information relateret til total tuples indsættelse, opdatering, sletning i databasen. Tuples out indeholder tuples information, der returneres til klienten fra databasen. Tuples i sig selv er et udtryk i PostgreSQL for rækker. Metrics Block I/O indeholder information relateret til diskinformation, både samlede læste og hentede blokke fra databasens cache.
Serveraktivitet indeholder information relateret til kørende sessioner, låsning der forekommer i databasen, forberedte sætninger fra forespørgsler og databasekonfiguration. Som vist på billedet nedenfor.
I Egenskaber kan du se oplysninger relateret til den PostgreSQL-database, der bliver ved at blive adgang til, såsom databasenavn, servertype, databaseversion, ip-adresse og det brugte brugernavn.
SQL'en indeholder information relateret til det genererede SQL-script, der er oprettet fra et valgt objekt som følger:
Oplysningerne i det fremhævede objekt vises meget detaljeret, da det indeholder et script til at rekonstruere et objekt.
På fanen Statistik vises oplysningerne relateret til statistik indsamlet fra hvert objekt, der kører i databasen, i menuen.
Som et eksempel indeholder ovenstående tabel oplysninger om Tuples (indsat, opdateret) , slettet, levende, død). Der er også information relateret til vakuum og auto-analyse.
Vacuum kører for at rense døde tupler i databasen og genvinde disklager brugt af døde tupler. Mens automatisk analysere funktioner for at generere statistik om objekter, så optimeringsværktøjet præcist kan bestemme udførelsesplanen for en forespørgsel.
ClusterControl PostgreSQL-overvågning
ClusterControl har forskellige metrics relateret til PostgreSQL-databasen, som kan findes på fanerne Oversigt, Noder, Dashboard, Forespørgselsmonitor og Ydelse. Følgende metrics vises i ClusterControl.
Oversigtsafsnittet indeholder oplysninger relateret til serverbelastningsmålinger lige fra forbindelse, antal af indsæt, slet, opdatering, commit &rollback og tilslutning. Derudover er der information såsom sundhedsnoder, postgreSQL-databasens replikeringsstatus og også information relateret til serverudnyttelse som vist i figuren nedenfor.
Fanen Nodes giver grafrelaterede oplysninger på serversiden startende fra CPU Udnyttelse, Hukommelse, Diskbrug, Netværk og Swap-brug.
Dashboardet har adskillige metriske muligheder, såsom systemoversigt, klyngeoversigt og PostgreSQL-oversigt. For hver mulighed er der forskellige målinger, der er relateret til den kørende systemtilstand. For eksempel er der i PostgreSQL Overview-metrics information lige fra belastningsgennemsnit fra databasen, tilgængelig hukommelse og netværkstransmission og -modtagelse som vist nedenfor.
Forespørgselsovervågningen indeholder information relateret til at køre forespørgsler, der kører på databasen. Vi kan finde ud af, hvilke forespørgsler der kører, hvor lang tid er eksekvering, kildeklientadresseoplysninger og sessionens tilstand. Udover det er der en Kill-session-funktion, hvor vi kan afslutte den session, der får databasen til at opleve forsinkelser. Følgende er visningen fra Query Monitor:
Ud over at køre forespørgsler kan vi også se oplysninger om forespørgselsstatistik, startende fra Adgang via sekventiel eller indeksscanning, Tabel I/O-statistikker, Indeks I/O-statistikker, Databasestørrelse, Top 10 største tabeller.
Fanen Ydeevne indeholder information relateret til databasevariabler og den værdi, der kører i øjeblikket, udover at der er en rådgiver til at give input relateret til opfølgningen af advarslen, der opstod.
Væksten af databaser og tabeller kan også overvåges i DB Growth-menuen, du kan forudsige lagerbehov eller andre handlinger, der vil blive udført ved at analysere metrikken for væksten af disse databaser og tabeller.
PostgreSQL-administrationsopgaver med pgAdmin
pgAdmin har forskellige funktioner til databaseadministration og objekter i databasen lige fra oprettelse af tabeller, indekser, brugere og tablespaces. De forskellige funktioner i pgAdmin er meget nyttige for både udviklere og DBA, fordi de gør det meget nemt at administrere databaseobjekter. Følgende er udseendet af menutræet i pgAdmin.
Du kan bare højreklikke på objektet, der skal fremhæves, så er der vil være handlinger, der kan udføres fra det pågældende objekt. For eksempel ved at fremhæve Database, så kan du oprette en ny database som denne:
Der vil være en dialogboks til at udfylde databasenavnet, ejer af databasen, der skal oprettes, kodningen, der vil blive brugt, tablespacet, der vil blive brugt af databasen, sikkerhedsadgang til databasen.
Hvilke brugere har ret til at få adgang til, og hvilke privilegier vil blive givet.
PostgreSQL-administrationsopgaver med ClusterControl
ClusterControl kan også oprette brugere og privilegier, der vil blive givet til brugeradministration som vist i følgende figur.
Med ClusterControl kan du implementere højt tilgængelige PostgreSQL-databaser. Det er lige så nemt at administrere din PostgreSQL som blot at klikke på menuen i dashboardet. Der er nogle funktioner til at administrere din PostgreSQL i Cluster-siden, såsom Tilføj Load Balancer, Tilføj replikeringsslave, Aktiver/Deaktiver Cluster Recovery og Node Recovery som vist nedenfor.
Du kan også oprette en ny PostgreSQL-klynge og få den til at replikere fra den kørende klynge ved hjælp af menupunktet Opret slaveklynge. Cluster-to-Cluster-replikering er en ny funktion leveret af ClusterControl.
I Node-siden er der adskillige databaseadministrative opgaver, du kan udføre, såsom Genstart vært, Genstart node, Stop Node, Fremme slave, Stop Slave. Du kan få fjernadgang til dine værter via SSH-konsollen.
Rebuild Replication Slave er en smart funktion til automatisk at reparere slaveservere, der gik ud over reparation. Den stopper slaven, sletter dens indhold og streamer en frisk backup fra masterserveren. Når sikkerhedskopien er anvendt, genoptages replikeringen, så den kan indhente masteren igen. Alt dette med blot et klik.
Der er også en funktion til at visualisere den aktuelle tilstand af din PostgreSQL Topology-arkitektur i ClusterControl.
Det giver med et hurtigt blik nyttige oplysninger om den aktuelle PostgreSQL-klynge, f.eks. som latens mellem noderne, databaseoppetid, version af databasen, du bruger, synkroniseringstilstanden, replikeringsforsinkelse.
Du kan også ændre konfigurationen relateret til databaseparametrene og ACL ip-adressen, der har ret til at få adgang til databasen i konfigurationsmenuen.
Kørsel af et distribueret databasemiljø kræver normalt en form for belastningsbalancering og trafikkontrol , da der er flere databaseforekomster, og applikationer ville ikke holde styr på, hvilken der er den skrivbare master, og hvilke der er skrivebeskyttede slaver. ClusterControl giver dig mulighed for at integrere HAProxy til dette formål. HAProxy kan i sig selv gøres meget tilgængeligt ved hjælp af Keepalved, så applikationer kan oprette forbindelse ved hjælp af en virtuel IP-adresse, der flyder til en anden instans, hvis den primære HAProxy load balancer går ned.
ClusterControl har andre funktioner såsom driftsrapporter, der giver analyser om serverbrug, oppetid, sikkerhed og kapacitet på ugentlig eller månedlig basis. pgAdmin er fantastisk til at manipulere objekter i databasen, hvorimod ClusterControl er mere målrettet mod at betjene systemet og holde det oppe.