PostgreSQL

Ofte stillede spørgsmål om PostgreSQL

Ofte stillede spørgsmål om PostgreSQL
Ifølge StackOverflow's 2020 årlige udviklerundersøgelse er PostgreSQL det næstmest populære databasestyringssystem til rådighed, og det er ikke uden god grund. Siden den oprindelige udgivelse i 1996 er PostgreSQL eller Postgres forbedret betydeligt og tilføjet flere nyttige funktioner, herunder brugerdefinerede typer, tabelarv, multi-version samtidighedskontrol og mere.

PostgreSQL er også meget let, let at opsætte og kan installeres på flere platforme, såsom containere, VM'er eller fysiske systemer. Udover sin standard GUI, pgAdmin, understøtter Postgres også over 50 andre IDE'er, hvoraf en tredjedel er gratis at bruge. Denne artikel dækker nogle af de hyppigst stillede spørgsmål (FAQs) om PostgreSQL.

Er PostgreSQL gratis?

PostgreSQL er et gratis produkt, der blev frigivet under den OSI-godkendte PostgreSQL-licens. Dette betyder, at der ikke kræves noget gebyr for at bruge PostgreSQL, selv til kommercielle formål, selvom der er nogle tredjepartsudvidelser og -tjenester, der kræver abonnement eller engangsgebyr.

Er PostgreSQL Open Source?

Ja, PostgreSQL er open source. PostgreSQL startede som et University of Berkeley-projekt i 1986 og blev frigivet til offentligheden den 8. juli 1996 som et gratis og open source relationsdatabasestyringssystem.

Er PostgreSQL store og små bogstaver?

PostgreSQL er store og små bogstaver, men i visse situationer kan den gøres ufølsom over for store og små bogstaver. For eksempel, når du opretter en tabel i PostgreSQL, konverteres kolonne- og tabelnavne automatisk til små bogstaver for at gøre dem store og små bogstaver. Det samme gøres også for forespørgsler; på denne måde matcher de de allerede konverterede kolonne- og tabelnavne.

Bemærk, at når du bruger anførselstegn for kolonne- eller tabelnavnet, f.eks. "Beløb", sker konverteringen ikke. Du bliver også nødt til at bruge citater i dine forespørgsler for at forhindre PostgreSQL i at konvertere forespørgslerne til små bogstaver. Du kan også gøre kolonneværdier store og små bogstaver ved hjælp af et PostgreSQL-specifikt nøgleord kaldet CITEXT når du opretter kolonner. Dette nøgleord tillader også en kolonne, der er erklæret som ENESTÅENDE eller PRIMÆRNØGLE at være store og små bogstaver.

Er PostgreSQL relationel?

PostgreSQL blev oprindeligt designet til at være et relationsdatabasesystem. Siden er det vokset langt ud over dets oprindelige design, da PostgreSQL nu understøtter nogle NoSQL-funktioner, såsom lagring og hentning af data i JSON (JSONB) og nøgleværdipar (HSTORE). I modsætning til mange kun NoSQL-databaser er NoSQL-funktionerne i PostgreSQL ACID-kompatible og kan grænseflader med SQL, som enhver anden datatype, der understøttes af PostgreSQL.

Hvorfor skal jeg bruge PostgreSQL?

Du skal forstå produktets behov, før du vælger et databasestyringssystem til det produkt. Normalt kommer dette valg ned på, om der skal bruges en relationel DBMS eller en NoSQL-database. Hvis du har at gøre med strukturerede og forudsigelige data med et statisk antal brugere eller applikationer, der får adgang til systemet, kan du overveje at gå til en relationsdatabase, såsom PostgreSQL.

Udover at vælge PostgreSQL, fordi det er et RDBMS, er der flere andre funktioner i dette databasestyringssystem, der gør det til et af de mest populære systemer, der er tilgængelige i dag. Nogle af disse funktioner inkluderer følgende:

Og så meget mere. Du kan se en komplet liste over de funktioner, der tilbydes af PostgreSQL her.

PostgreSQL vs MySQL: Er PostgreSQL bedre end MySQL?

MySQL er det mest populære databasestyringssystem, der er tilgængeligt i dag. Det er let, let at forstå og opsætte og meget hurtigt, især når der er tale om høj-samtidige skrivebeskyttede funktioner. Brugervenligheden af ​​MySQL gør det lettere at finde databaseadministratorer til dette databasestyringssystem.

Når det er sagt, mangler MySQL flere af de funktioner, der følger med PostgreSQL-databaser. Til at begynde med er PostgreSQL ikke kun et relationelt databasesystem, det er også et objektrelationelt databasesystem. Dette betyder, at PostgreSQL understøtter unikke funktioner, såsom tabelarv og funktionsoverbelastning.

Det fungerer bedre, når man beskæftiger sig med komplekse forespørgsler under tung belastning. Det sænkes dog, når der er tale om skrivebeskyttede operationer.

PostgreSQL har også en bredere vifte af tilgængelige datatyper, og det giver dig mulighed for at oprette brugerdefinerede datatyper til din database. Måske er den største fordel i forhold til MySQL PostgreSQLs udvidelighed. Du kan oprette PostgreSQL-udvidelser, der passer til din brugssag.

For det meste er PostgreSQL en bedre DBMS end MySQL. Men i sidste ende kommer det hele ned til din brugssag. Hvis du laver et simpelt websted eller en webapplikation, og du kun behøver at gemme data, har du det bedre at bruge MySQL. Men hvis du har at gøre med mere komplekse operationer med stort volumen, skal du overveje at gå med PostgreSQL.

PostgreSQL vs MongoDB: Er PostgreSQL bedre end MongoDB?

En sammenligning mellem PostgreSQL og MongoDB er simpelthen en sammenligning mellem relationsdatabasesystemer og NoSQL-databaser. Og hvis svar bedre er, koges ned til din brugssag; hvordan du vil bruge og strukturere dine data. Hver DBMS indeholder egenskaber, der er nyttige i forskellige situationer.

Hvis du bygger en applikation med en uforudsigelig og dynamisk datastruktur, vil du gå til en NoSQL-database som MongoDB. NoSQL-databasestyringssystemer er kendt for deres skemafrie databaser, hvilket betyder, at databasestrukturen ikke skal defineres ved oprettelse. Dette gør NoSQL-databaser meget fleksible og let skalerbare.

PostgreSQL passer bedre, hvis du arbejder med data med en fast, statisk struktur, der sjældent ændres. PostgreSQL har også fordelen ved SQL, et stærkt og veletableret forespørgselssprog. Relationsdatabasehåndteringssystemer er mere passende til applikationer, der kræver referenceintegritet, såsom Fintech-applikationer.

I de senere år har begge DBMS-typer vedtaget nøglefunktioner fra de andre. For eksempel, som forklaret ovenfor, understøtter PostgreSQL nøgleværdipar og JSON-datatyper, nøglefunktioner i NoSQL-databasesystemer (DBMS). MongoDB hævder nu at være ACID-kompatibel, et nøglefunktion i relationelle databasestyringssystemer (RBDMS).

Imidlertid fungerer ingen af ​​funktionerne som i den oprindelige DBMS-type, der understøtter den. For eksempel har MongoDB ifølge denne artikel stadig flere problemer med dens ACID-overholdelse. Selvom PostgreSQL understøtter JSON-datatyper og nøgleværdipar, er dette system ikke skema-mindre. Du er stadig forpligtet til at erklære strukturen ved oprettelsen.

PostgreSQL: Sådan oprettes forbindelse til en databaseserver

Inden du opretter forbindelse til en database, skal du sikre dig, at du har downloadet og installeret PostgreSQL på dit operativsystem. Start derefter psql Ansøgning. Dette åbner et dedikeret kommandolinjegrænseprogram til grænseflade med PostgreSQL-databaseserveren.

Når serveren er startet, bliver du bedt om at udfylde følgende felter i rækkefølge: server, database, port, brugernavn og adgangskode. Du kan beholde standardindstillingerne, der blev indstillet under installationen af ​​PostgreSQL ved at trykke Gå ind for hver forespørgsel.

Når du kommer til indtastningsfeltet for adgangskode, skal du indtaste den adgangskode, du har angivet under installationen for brugeren "postgres". Når det er gjort, og din identitet er valideret med succes, vil du være forbundet til databaseserveren.

En anden måde at oprette forbindelse til en database på er ved hjælp af pgAdmin. pgAdmin er PostgreSQLs GUI til interface med sine databaseservere. At bruge pgAdmin, start applikationen. Dette skal åbne en webapplikation i din browser. Højreklik Servere i øverste venstre hjørne af webappen, og hold derefter markøren over skab og vælg Server .. fra den menu, der dukker op.

Du kan også klikke Tilføj ny server under hurtige links. Uanset hvilken indstilling du vælger, skal du nu se en dialogboks, der beder om nogle oplysninger.

Indtast et navn til serveren, og naviger derefter til Forbindelse fanen. Under Forbindelse fane, indtast "localhost" som din Værtsnavn / adresse, indtast derefter postgres brugerens adgangskode, der blev konfigureret under installationen. Klik på Gemme for at gemme serveren. Dialogboksen lukkes, og du oprettes automatisk forbindelse til databaseserveren.

Hvor gemmes PostgreSQL-databaser?

PostgreSQL-databaser er som standard gemt i en data mappe, men placeringen af ​​denne mappe varierer med operativsystemet. På Windows finder du det normalt et af følgende steder: C: \ Program Files (x86) \ PostgreSQL \\data eller C: \ Program Files \ PostgreSQL \\data.

På en Mac, hvis du installerede PostgreSQL via homebrew, finder du det i / usr / local / var / postgres / data. Ellers vil den være placeret i / Bibliotek / PostgreSQL //data.

For Linux varierer placeringen med Linux-smagen. Nogle gange findes det i / usr / local / pgsql / data eller / var / lib / postgresql / [version] / data.

For at bestemme placeringen af ​​databaser mere præcist, skal du indtaste følgende kommando i psql:

VIS datakatalog;

PostgreSQL: Sådan startes databaseserveren

At starte en PostgreSQL-server er lidt anderledes for hvert operativsystem. For at starte serveren på Windows skal du først finde bibliotekets bibliotek. Dette er normalt noget i retning af "C: \ Program Files \ PostgreSQL \ 10.4 \ data.”Kopier katalogstien, da du får brug for det om et øjeblik. Start derefter Kommandoprompt og kør følgende kommando.

pg_ctl -D "C: \ Program Files \ PostgreSQL \ 13 \ data" start

Stien skal være den databasekatalogsti, du kopierede. For at stoppe serveren skal du blot erstatte “start” med “stop” i ovenstående kommando. Du kan også genstarte det ved at erstatte "start med" genstart ".

Når du forsøger at køre denne kommando, kan du få følgende fejl: “Pg_ctl genkendes ikke som en intern eller ekstern kommando. For at løse dette problem skal du tilføje “C: \ Program Files \ PostgreSQL \ 9.5 \ bin ”og“ C: \ Program Files \ PostgreSQL \ 9.5 \ lib ”til dit systems PATH-miljøvariabel.

For macOS, hvis du har installeret PostgreSQL med homebrew, skal du bruge følgende kommandoer:

For at starte databaseserveren manuelt skal du køre følgende kommando:

pg_ctl -D / usr / local / var / postgres start

Sørg for, at katalogstien er i din database.

For at starte databaseserveren og genstarte ved login skal du køre følgende kommando:

brygge tjenester starter postgresql

For at stoppe serveren for begge scenarier skal du blot erstatte “start” med “stop.”

Inden du starter en databaseserver, skal du først angive en adgangskode til Linux i Linux postgres bruger. Intet kodeord er som standard indstillet til installationen. Du kan indstille adgangskoden med følgende kommando:

sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

Selvfølgelig kan din adgangskode være alt hvad du vælger at være. Når adgangskoden er indstillet, skal du starte serveren ved at indtaste følgende kommando i terminalen:

sudo service postgresql start

For at stoppe serveren skal du erstatte "start" med "stop" i kommandoen, ligesom med Windows og macOS.

PostgreSQL: Sådan oprettes en database

For at oprette en database skal du sørge for, at du allerede har forbindelse til en databaseserver. Følg instruktionerne ovenfor for at gøre det. Hvis du har oprettet forbindelse til serveren via psql, indtast følgende kommando for at oprette en database:

OPRET DATABASE ny_database;

Hvis du vil oprette forbindelse til din nyligt oprettede database, skal du indtaste følgende kommando:

\ c ny_database

Du skal nu være forbundet til det.

Hvis du oprettede forbindelse til serveren via pgAdmin, skal du højreklikke på webappen i webappen Databaser, svæve over skab, og vælg Database ..

Du bør se en dialogboks, der beder om bestemte detaljer for at oprette databasen. Du bliver nødt til at indtaste mindst navnet på databasen for at oprette databasen. Indtast et navn i Database felt og klik Gemme. Du skal nu kunne se din nyligt oprettede database under Databaser.

Hvor er PostgreSQL-logfiler?

Som standard er PostgreSQL-logfiler gemt i log mappe under data mappe, standardplaceringen for PostgreSQL-databaser. For at bekræfte dette skal du køre følgende kommando i psql:

VIS log_katalog;

Bemærk, at denne kommando kun viser en relativ sti, men stien skal være placeret i data folder.

Har PostgreSQL lagrede procedurer?

Selvom PostgreSQL altid har understøttet brugerdefinerede funktioner, var det først i v11.0 frigiver, at det indeholdt understøttelse af lagrede procedurer. For at oprette en lagret procedure i PostgreSQL skal du bruge OPRET PROCEDURE udmelding. For at udføre en lagret procedure skal du bruge OPKALD udmelding.

Konklusion

PostgreSQL har oplevet en aktiv udvikling i mere end 30 år, da den blev oprettet i 1980'erne. I løbet af denne tid er PostgreSQL modnet betydeligt, og det er i øjeblikket det næstmest populære databasestyringssystem i verden ifølge StackOverflow's 2020 Annual Developer Survey.

To hovedårsager til populariteten af ​​PostgreSQL er dets udvidelighed og utallige nyttige funktioner, der er tilgængelige for brugerne. Hvis du vælger en DBMS til dit projekt, og du har besluttet, at du foretrækker en RDBMS frem for en NoSQL-database, ville PostgreSQL være et fremragende valg til din applikation.

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...