PostgreSQL FAQ

PostgreSQL FAQ
Według corocznej ankiety programistów StackoverFlow 2020, PostgreSQL jest drugim najpopularniejszym dostępnym systemem zarządzania bazą danych i nie jest to bez powodu. Od momentu początkowego wydania w 1996 r. PostgreSQL lub Postgres znacznie się poprawiły, dodając kilka przydatnych funkcji, w tym typy zdefiniowane przez użytkownika, dziedziczenie tabeli, kontrolę współbieżności wielu wersji i wiele innych.

PostgreSQL jest również bardzo lekki, łatwy w konfiguracji i może być instalowany na kilku platformach, takich jak kontenery, maszyny wirtualne lub systemy fizyczne. Oprócz domyślnego GUI, PGADMIN, Postgres obsługuje również ponad 50 innych IDE, z których jedna trzecia jest bezpłatna. Ten artykuł obejmie niektóre z najczęściej zadawanych pytań (FAQ) na temat PostgreSQL.

Jest bezpłatny postgresql?

PostgreSQL to bezpłatny produkt, który został wydany na podstawie licencji PostgreSQL zatwierdzonej przez OSI-. Oznacza to, że nie jest wymagana opłata za korzystanie z PostgreSQL, nawet w celach komercyjnych, chociaż istnieją pewne rozszerzenia i usługi innych firm, które wymagają subskrypcji lub opłaty jednorazowej.

Jest Open-Source Postgresql?

Tak, PostgreSQL jest open source. Postgresql rozpoczął się jako projekt University of Berkeley w 1986 roku i został wydany publicznie 8 lipca 1996 r. Jako bezpłatny i otwarty system zarządzania relacyjnymi bazami danych.

Jest wrażliwy na literę postgresql?

PostgreSQL domyślnie jest wrażliwy. Na przykład, tworząc tabelę w PostgreSQL, nazwy kolumny i tabeli są automatycznie konwertowane na niższą liczbę, aby sprawić, że przypadek jest niewrażliwy. To samo dotyczy również zapytań; W ten sposób pasują do już skoncentrowanych nazw kolumn i tabeli.

Zauważ, że kiedy używasz cytatów dla nazwy kolumny lub tabeli, takich jak „kwota”, konwersja nie występuje. Będziesz musiał również użyć cytatów w swoich zapytaniach, aby zapobiec przekształceniu pytań na małe litery w małe litery. Możesz także uczynić wartości kolumnowej bezsensowne przy użyciu nazywanego słowa kluczowego specyficznego dla PostgreSQL Cyt Podczas tworzenia kolumn. To słowo kluczowe pozwala również na deklarowaną kolumnę UNIKALNY Lub GŁÓWNY KLUCZ być wrażliwym na przypadek.

Jest Postgresql Relaction?

PostgreSQL został pierwotnie zaprojektowany jako relacyjny system zarządzania bazą danych. Od tego czasu wyrósł daleko poza swój oryginalny projekt, ponieważ PostgreSQL obsługuje teraz niektóre możliwości NoSQL, takie jak przechowywanie i pobieranie danych w JSON (JSONB) i parach kluczowych (HSTORE). W przeciwieństwie do wielu baz danych tylko NoSQL, możliwości NOSQL PostgreSQL są zgodne z kwasem i mogą być łączone z SQL, jak każdy inny typ danych obsługiwany przez PostgreSQL.

Dlaczego miałbym używać PostgreSQL?

Musisz zrozumieć potrzeby swojego produktu przed wybraniem systemu zarządzania bazą danych dla tego produktu. Zwykle wybór ten sprowadza się do tego, czy użyć relacyjnej DBMS, czy bazy danych NoSQL. Jeśli masz do czynienia z danymi strukturalnymi i przewidywalnymi ze statyczną liczbą użytkowników lub aplikacji uzyskujących dostęp do systemu, rozważ przejście do relacyjnej bazy danych, takich jak PostgreSQL.

Oprócz wyboru PostgreSQL, ponieważ jest to RDBMS, istnieje kilka innych funkcji tego systemu zarządzania bazą danych, które czyni go jednym z najpopularniejszych dostępnych obecnie systemów. Niektóre z tych funkcji obejmują:

  • Obsługa różnych typów danych, takich jak JSON/JSONB, XML, pary wartości kluczowej (HSTORE), punkt, linia, okrąg i wielokąt. Możesz także tworzyć niestandardowe typy danych.
  • Obcokrajowcy danych, które umożliwiają połączenie z innymi bazami danych lub strumieniami, takimi jak Neo4J, Couchdb, Cassandra, Oracle i inne, ze standardowym interfejsem SQL.
  • Możliwość tworzenia niestandardowych funkcji.
  • Języki proceduralne, takie jak PL/PGSQL, Perl, Python i inne.
  • Dostęp do wielu rozszerzeń, które zapewniają dodatkową funkcjonalność, takie jak postgis.
  • Kontrola współbieżności wielu wersji.
  • Uwierzytelnianie wieloskładnikowe z certyfikatami i dodatkową metodą.

I wiele więcej. Możesz zobaczyć pełną listę funkcji oferowanych przez PostgreSQL tutaj.

PostgreSQL vs MySQL: jest PostgreSQL lepszy niż mysql?

MySQL to najpopularniejszy system zarządzania bazą danych dostępny dzisiaj. Jest lekki, łatwy do zrozumienia i skonfigurowany, a bardzo szybki, szczególnie w radzeniu sobie z funkcjami o wysokiej zawartości odczytu. Łatwość korzystania z MySQL ułatwia znalezienie administratorów bazy danych dla tego systemu zarządzania bazą danych.

Powiedziawszy to, MySQL nie ma kilku funkcji, które są dostarczane z bazami danych PostgreSQL. Na początek PostgreSQL to nie tylko relacyjny system zarządzania bazą danych, jest także systemem zarządzania relacyjną bazą danych. Oznacza to, że PostgreSQL obsługuje unikalne funkcje, takie jak dziedziczenie tabeli i przeciążenie funkcji.

Działa lepiej w przypadku złożonych zapytań pod dużym obciążeniem. Spowalnia to jednak w przypadku operacji tylko do odczytu.

PostgreSQL ma również szerszy zakres typów danych i umożliwia tworzenie niestandardowych typów danych dla Twojej bazy danych. Być może jego największą przewagą w stosunku do MySQL jest rozszerzalność Postgresql. Możesz utworzyć rozszerzenia PostgreSQL, aby odpowiadały obudowie użycia.

W przeważającej części PostgreSQL jest lepszym DBMS niż MySQL. Ale ostatecznie wszystko sprowadza się do twojego przypadku użycia. Jeśli tworzysz prostą stronę internetową lub aplikację internetową i musisz tylko przechowywać dane, lepiej jest korzystać z MySQL. Ale jeśli masz do czynienia z bardziej złożonymi operacjami o dużej objętości, rozważ przejście z PostgreSQL.

PostgreSQL vs MongoDB: jest PostgreSQL lepszy niż MongoDB?

Porównanie PostgreSQL i MongoDB to po prostu porównanie relacyjnych systemów zarządzania bazami danych a bazami danych NoSQL. A odpowiedź, której lepiej sprowadza się do twojego przypadku użycia; Jak chcesz używać i ustrukturyzować swoje dane. Każdy DBM zawiera cechy, które są przydatne w różnych sytuacjach.

Jeśli budujesz aplikację z nieprzewidywalną i dynamiczną strukturą danych, będziesz chciał wybrać bazę danych NoSQL, taką jak MongoDB. Systemy zarządzania bazami danych NoSQL są znane z ich baz danych bez schematu, co oznacza, że ​​struktura bazy danych nie musi być zdefiniowana na tworzeniu. To sprawia, że ​​bazy danych NoSQL są bardzo elastyczne i łatwo skalowalne.

PostgreSQL jest lepsze dopasowanie, jeśli pracujesz z danymi ze stałą, statyczną strukturą, która zmienia się rzadko. PostgreSQL ma również tę zaletę, że SQL, potężny i dobrze ugruntowany język zapytania. Relacyjne systemy zarządzania bazami danych są bardziej odpowiednie dla aplikacji wymagających integralności referencyjnej, takich jak aplikacje fintech.

W ostatnich latach oba typy DBMS przyjmują kluczowe funkcje od drugiego. Na przykład, jak wyjaśniono powyżej, PostgreSQL obsługuje pary wartości kluczy i typy danych JSON, kluczowe funkcje systemów zarządzania bazą danych NoSQL (DBMS). MongoDB twierdzi teraz, że jest zgodny z kwasem, kluczową cechą relacyjnych systemów zarządzania bazami danych (RBDM).

Jednak żadna funkcja nie działa jak w oryginalnym typu DBMS, który go obsługuje. Na przykład, zgodnie z tym artykułem, MongoDB nadal ma kilka problemów z zgodnością z kwasem. Ponadto, podczas gdy PostgreSQL obsługuje typy danych JSON i pary wartości kluczy, ten system nie jest bez schematu. Nadal musisz zadeklarować strukturę po stworzeniu.

PostgreSQL: Jak połączyć się z serwerem bazy danych

Przed połączeniem się z bazą danych upewnij się, że pobrałeś i zainstalowałeś PostgreSQL w systemie operacyjnym. Następnie uruchom PSQL aplikacja. Otwiera to dedykowany program interfejsu wiersza poleceń do interfejsu z serwerem bazy danych PostgreSQL.

Po uruchomieniu serwera zostaniesz poproszony o sekwencyjne wypełnienie następujących pól: serwer, baza danych, port, nazwa użytkownika i hasło. Możesz zachować ustawienie domyślnych opcji, które zostały ustawione podczas instalowania PostgreSQL poprzez trafienie Wchodzić dla każdego zapytania.

Po przejściu do pola wprowadzania hasła wprowadź hasło ustawione podczas instalacji dla użytkownika „Postgres”. Po zakończeniu i z powodzeniem zatwierdzona tożsamość, będziesz podłączony do serwera bazy danych.

Innym sposobem połączenia się z bazą danych jest użycie pgadmin. pgadmin jest GUI Postgresql do interfejsu z serwerami bazy danych. Używać pgadmin, Uruchom aplikację. To powinno otworzyć aplikację internetową w przeglądarce. Kliknij prawym przyciskiem myszy Serwery w lewym górnym rogu aplikacji internetowej, a następnie unosić się Tworzyć i wybierz Serwer… z menu, które pojawia się.

Możesz także kliknąć Dodaj nowy serwer pod Szybkie linki. Niezależnie od wybranej opcji powinieneś teraz zobaczyć okno dialogowe z żądaniem informacji.

Wprowadź nazwę serwera, a następnie przejdź do Połączenie patka. Pod Połączenie Tab, wprowadzaj „localHost” jako twój Nazwa/adres hosta, Następnie wpisz w Postgres Hasło użytkownika, które zostało skonfigurowane podczas instalacji. Kliknij Ratować Aby zapisać serwer. Okno dialogowe zostanie zamknięte, a zostaniesz automatycznie podłączony do serwera bazy danych.

Gdzie są przechowywane bazy danych PostgreSQL?

Domyślnie bazy danych PostgreSQL są przechowywane w dane folder, ale lokalizacja tego folderu różni się w zależności od systemu operacyjnego. W systemie Windows zwykle znajdziesz go w jednej z poniższych lokalizacji: C: \ Program Files (x86) \ PostgreSQL \\ Data Lub C: \ Program Files \ Postgresql \\ Data.

Na komputerze Mac, jeśli zainstalowałeś PostgreSQL przez HomeBrew, znajdziesz go w /usr/local/var/postgres/dane. W przeciwnym razie zostanie zlokalizowany w /Biblioteka/postgresql // dane.

Dla Linuksa lokalizacja zmienia się w zależności od smaku Linux. Czasami znajduje się w /usr/local/pGSQL/Data Lub /var/lib/postgresql/[wersja]/Data.

Aby dokładniej określić lokalizację baz danych, wprowadź następujące polecenie PSQL:

Pokaż data_directory;

PostgreSQL: Jak uruchomić serwer bazy danych

Uruchomienie serwera PostgreSQL jest nieco inne dla każdego systemu operacyjnego. Aby uruchomić serwer w systemie Windows, najpierw zlokalizuj katalog bazy danych. Zwykle jest to coś w stylu „C: \ Program Files \ Postgresql \ 10.4 \ Dane.„Skopiuj ścieżkę katalogu, ponieważ za chwilę będziesz jej potrzebować. Następnie uruchom Wiersz polecenia i uruchom następujące polecenie.

PG_CTL -D "C: \ Program Files \ PostGresql \ 13 \ Data" Start

Ścieżką powinna być skopiowana ścieżka katalogu bazy danych. Aby zatrzymać serwer, po prostu zastąp „Start” na „Stop” w powyższym poleceniu. Możesz również go ponownie uruchomić, zastępując „Zacznij od„ restart ”.

Kiedy próbujesz uruchomić to polecenie, możesz uzyskać następujący błąd: „PG_CTL nie jest uznawane za polecenie wewnętrzne lub zewnętrzne." Aby rozwiązać ten problem, dodaj „C: \ Program Files \ Postgresql \ 9.5 \ bin ”i„ C: \ Program Files \ Postgresql \ 9.5 \ lib ”do zmiennej środowiska ścieżki systemu.

W przypadku macOS, jeśli zainstalowałeś PostgreSQL z HomeBrew, użyj następujących poleceń:

Aby ręcznie uruchomić serwer bazy danych, uruchom następujące polecenie:

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

Upewnij się, że ścieżka katalogu jest ścieżką Twojej bazy danych.

Aby uruchomić serwer bazy danych teraz i ponownie uruchom ponownie w logowaniu, uruchom następujące polecenie:

Usługi browarowe rozpoczynają postgreSQL

Aby zatrzymać serwer dla obu scenariuszy, po prostu zastąp „Start” na „Stop”."

W Linux, przed uruchomieniem serwera bazy danych, musisz najpierw ustawić hasło dla Postgres użytkownik. Żadne hasło nie jest ustawiane domyślnie podczas instalacji. Możesz ustawić hasło za pomocą następującego polecenia:

sudo -U Postgres PSQL -C „Zmień użytkownika Postgres Hasło„ Postgres ”;”

Oczywiście twoje hasło może być wszystkim, co wybierzesz. Po ustawieniu hasła, aby uruchomić serwer, wprowadź następujące polecenie w terminalu:

Sudo Service PostgreSQL Start

Aby zatrzymać serwer, zastąp „Start” na „Stop” w poleceniu, tak jak w systemie Windows i MacOS.

PostgreSQL: Jak utworzyć bazę danych

Aby utworzyć bazę danych, upewnij się, że jesteś już podłączony do serwera bazy danych. Postępuj zgodnie z powyższymi instrukcjami, aby to zrobić. Jeśli podłączyłeś do serwera za pośrednictwem PSQL, Wprowadź następujące polecenie, aby utworzyć bazę danych:

Utwórz bazę danych new_database;

Jeśli chcesz połączyć się z niedawno utworzoną bazą danych, wprowadź następujące polecenie:

\ c New_Database

Powinieneś teraz być z tym połączony.

Jeśli podłączyłeś się do serwera za pośrednictwem PGADMIN, w aplikacji internetowej, kliknij prawym przyciskiem myszy Bazy danych, unosić się na Tworzyć, i wybierz Baza danych…

Powinieneś zobaczyć okno dialogowe, w którym żąda pewnych szczegółów, aby utworzyć bazę danych. Musisz wprowadzić przynajmniej nazwę bazy danych, aby utworzyć bazę danych. Wprowadź nazwę w Baza danych pole i kliknij Ratować. Powinieneś teraz być w stanie zobaczyć swoją niedawno utworzoną bazę danych pod Bazy danych.

Gdzie są dzienniki PostgreSQL?

Domyślnie dzienniki PostgreSQL są przechowywane w dziennik folder pod dane folder, domyślna lokalizacja dla baz danych PostgreSQL. Aby to potwierdzić, uruchom następujące polecenie PSQL:

Pokaż log_directory;

Zauważ, że to polecenie wyświetli tylko względną ścieżkę, ale ścieżka powinna znajdować się w dane teczka.

Czy PostgreSQL ma procedury przechowywane?

Chociaż PostgreSQL zawsze obsługiwał funkcje zdefiniowane przez użytkownika, dopiero dopiero V11.0 Wydanie, że zawierało obsługę procedur przechowywanych. Aby utworzyć procedurę składowaną w PostgreSQL, użyj Utwórz procedurę oświadczenie. Aby wykonać procedurę składowaną, użyj DZWONIĆ oświadczenie.

Wniosek

PostgreSQL od ponad 30 lat działał aktywny rozwój, który został stworzony w latach 80. W tym czasie PostgreSQL znacznie dojrzał i jest obecnie drugim najpopularniejszym systemem zarządzania bazą danych na świecie, zgodnie z dorocznym badaniem programistów StackoverFlow 2020.

Dwa główne przyczyny popularności PostgreSQL to jego rozszerzalność i niezliczona ilość przydatnych funkcji dostępnych dla jego użytkowników. Jeśli wybierasz DBMS dla swojego projektu i zdecydowałeś, że wolisz RDBMS niż baza danych NoSQL, PostgreSQL byłby doskonałym wyborem dla Twojej aplikacji.