postgresql Samouczek
Rozpoczęcie pracy z postgresql
Szukaj…
Uwagi
Ta sekcja zawiera przegląd tego, czym jest postgresql i dlaczego deweloper może chcieć go użyć.
Powinien również wymieniać wszelkie duże tematy w postgresql i link do powiązanych tematów. Ponieważ dokumentacja dla postgresql jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.
Wersje
Wersja | Data wydania | Data EOL |
---|---|---|
9,6 | 29.09.2016 | 2021-09-01 |
9.5 | 07.01.2016 | 2021-01-01 |
9.4 | 2014-12-18 | 01.12.2019 |
9.3 | 2013-09-09 | 01.01.2018 |
9.2 | 10.10.2012 | 01.09.2017 |
9.1 | 2011-09-12 | 01.09.2016 |
9.0 | 2010-09-20 | 01.09.2015 |
8.4 | 01.07.2009 | 01.07.2014 |
Instalacja na GNU + Linux
W większości systemów operacyjnych GNU + Linux PostgreSQL można łatwo zainstalować za pomocą menedżera pakietów systemu operacyjnego.
Rodzina Red Hat
Repozytoria można znaleźć tutaj: https://yum.postgresql.org/repopackages.php
Pobierz repozytorium na komputer lokalny za pomocą polecenia
yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
Wyświetl dostępne pakiety:
yum list available | grep postgres*
Niezbędne pakiety to: postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Są one instalowane za pomocą następującego polecenia: yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Po zainstalowaniu musisz uruchomić usługę bazy danych jako właściciel usługi (domyślnie jest to postgres). Odbywa się to za pomocą polecenia pg_ctl.
sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start
Aby uzyskać dostęp do bazy danych w CLI, wpisz psql
Rodzina Debiana
W Debianie i pochodnych systemach operacyjnych wpisz:
sudo apt-get install postgresql
Spowoduje to zainstalowanie pakietu serwera PostgreSQL w domyślnej wersji oferowanej przez repozytoria pakietów systemu operacyjnego.
Jeśli domyślnie instalowana wersja nie jest tą, której szukasz, możesz użyć menedżera pakietów, aby wyszukać określone wersje, które mogą być jednocześnie oferowane.
Możesz również użyć repozytorium Yum dostarczonego przez projekt PostgreSQL (znany jako PGDG ), aby uzyskać inną wersję. Może to pozwolić na wersje, które nie są jeszcze oferowane przez repozytoria pakietów systemu operacyjnego.
Jak zainstalować PostgreSQL przez MacPorts na OSX
Aby zainstalować PostgreSQL na OSX, musisz wiedzieć, które wersje są obecnie obsługiwane.
Użyj tego polecenia, aby zobaczyć, jakie wersje masz dostępne.
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
Powinieneś otrzymać listę, która wygląda mniej więcej tak:
postgresql80 @8.0.26 databases/postgresql80
postgresql81 @8.1.23 databases/postgresql81
postgresql82 @8.2.23 databases/postgresql82
postgresql83 @8.3.23 databases/postgresql83
postgresql84 @8.4.22 databases/postgresql84
postgresql90 @9.0.23 databases/postgresql90
postgresql91 @9.1.22 databases/postgresql91
postgresql92 @9.2.17 databases/postgresql92
postgresql93 @9.3.13 databases/postgresql93
postgresql94 @9.4.8 databases/postgresql94
postgresql95 @9.5.3 databases/postgresql95
postgresql96 @9.6beta2 databases/postgresql96
W tym przykładzie najnowsza wersja PostgreSQL obsługiwana w wersji 9.6, więc ją zainstalujemy.
sudo port install postgresql96-server postgresql96
Zobaczysz dziennik instalacji taki jak ten:
---> Computing dependencies for postgresql96-server
---> Dependencies to be installed: postgresql96
---> Fetching archive for postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
---> Installing postgresql96 @9.6beta2_0
---> Activating postgresql96 @9.6beta2_0
To use the postgresql server, install the postgresql96-server port
---> Cleaning postgresql96
---> Fetching archive for postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
---> Installing postgresql96-server @9.6beta2_0
---> Activating postgresql96-server @9.6beta2_0
To create a database instance, after install do
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
---> Cleaning postgresql96-server
---> Computing dependencies for postgresql96
---> Cleaning postgresql96
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.
Dziennik zawiera instrukcje dotyczące pozostałych kroków instalacji, więc zrobimy to następnie.
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
Teraz uruchamiamy serwer:
sudo port load -w postgresql96-server
Sprawdź, czy możemy połączyć się z serwerem:
su postgres -c psql
Zobaczysz monit z postgres:
psql (9.6.1)
Type "help" for help.
postgres=#
Tutaj możesz wpisać zapytanie, aby zobaczyć, czy serwer działa.
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
I zobacz odpowiedź:
setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
Wpisz \ q, aby wyjść:
postgres=#\q
I wrócisz do polecenia powłoki.
Gratulacje! Masz teraz działającą instancję PostgreSQL na OS / X.
Postgres.app dla Mac OSX
Niezwykle proste narzędzie do instalowania PostgreSQL na komputerze Mac jest dostępne po pobraniu Postgres.app .
Możesz zmienić preferencje, aby PostgreSQL działał w tle lub tylko wtedy, gdy aplikacja jest uruchomiona.
Instalowanie PostgreSQL w systemie Windows
Chociaż dobrą praktyką jest używanie systemu operacyjnego opartego na Uniksie (np. Linux lub BSD) jako serwera produkcyjnego, możesz łatwo zainstalować PostgreSQL w systemie Windows (mam nadzieję, że tylko jako serwer programistyczny).
Pobierz pliki binarne instalacji systemu Windows ze strony EnterpriseDB: http://www.enterlictb.com/products-services-training/pgdownload Jest to firma zewnętrzna założona przez głównych współpracowników projektu PostgreSQL, którzy zoptymalizowali pliki binarne dla systemu Windows.
Wybierz najnowszą stabilną (niebędącą wersją beta) wersję (9.5.3 w momencie pisania). Najprawdopodobniej będziesz chciał pakiet Win x86-64, ale jeśli używasz 32-bitowej wersji systemu Windows, która jest powszechna na starszych komputerach, wybierz Win x86-32.
Uwaga: Przełączanie między wersją Beta a wersją stabilną będzie wymagało złożonych zadań, takich jak zrzut i przywracanie. Aktualizacja w wersji beta lub stabilnej wymaga jedynie ponownego uruchomienia usługi.
Możesz sprawdzić, czy twoja wersja systemu Windows jest 32- lub 64-bitowa, przechodząc do Panelu sterowania -> System i zabezpieczenia -> System -> Typ systemu, który powie „## - bitowy system operacyjny”. Jest to ścieżka do systemu Windows 7, może się nieco różnić w innych wersjach systemu Windows.
W instalatorze wybierz pakiety, których chcesz użyć. Na przykład:
- pgAdmin ( https://www.pgadmin.org ) to darmowy GUI do zarządzania bazą danych i bardzo go polecam. W wersji 9.6 zostanie to zainstalowane domyślnie.
- PostGIS ( http://postgis.net ) zapewnia funkcje analizy geoprzestrzennej współrzędnych GPS, odległości itp. Bardzo popularne wśród programistów GIS.
- Pakiet językowy zawiera wymagane biblioteki dla oficjalnie obsługiwanego języka proceduralnego PL / Python, PL / Perl i PL / Tcl.
- Inne pakiety, takie jak pgAgent, pgBouncer i Slony, są przydatne dla większych serwerów produkcyjnych, sprawdzane tylko w razie potrzeby.
Wszystkie te opcjonalne pakiety można później zainstalować za pomocą „Application Stack Builder”.
Uwaga: Dostępne są również inne nieoficjalnie obsługiwane języki, takie jak PL / V8 , PL / Lua PL / Java.
Otwórz pgAdmin i połącz się z serwerem, klikając dwukrotnie jego nazwę, np. „PostgreSQL 9.5 (localhost: 5432).
Od tego momentu możesz śledzić przewodniki, takie jak doskonała książka PostgreSQL: Up and Running, 2nd Edition ( http://shop.oreilly.com/product/0636920032144.do ).
Opcjonalnie: Typ uruchomienia usługi ręcznej
PostgreSQL działa jako usługa w tle, która różni się nieco od większości programów. Jest to typowe dla baz danych i serwerów WWW. Domyślnym typem uruchomienia jest Automatyczny, co oznacza, że zawsze będzie działał bez żadnego wkładu użytkownika.
Dlaczego chcesz ręcznie kontrolować usługę PostgreSQL? Jeśli używasz komputera jako serwera programistycznego, a także używasz go np. Do grania w gry wideo, PostegreSQL może nieco spowolnić twój system podczas jego działania.
Dlaczego nie chcesz sterować ręcznie? Uruchamianie i zatrzymywanie usługi może być kłopotliwe, jeśli robisz to często.
Jeśli nie zauważysz żadnej różnicy prędkości i wolisz unikać problemów, pozostaw Typ uruchamiania jako Automatyczny i zignoruj resztę tego przewodnika. Inaczej...
Przejdź do Panelu sterowania -> System i zabezpieczenia -> Narzędzia administracyjne.
Wybierz „Usługi” z listy, kliknij prawym przyciskiem myszy jego ikonę i wybierz Wyślij do -> Pulpit, aby utworzyć ikonę pulpitu, aby uzyskać bardziej wygodny dostęp.
Zamknij okno Narzędzia administracyjne, a następnie uruchom Usługi z właśnie utworzonej ikony pulpitu.
Przewiń w dół, aż zobaczysz usługę o nazwie postgresql-x ## - 9. # (np. „Postgresql-x64-9.5”).
Kliknij prawym przyciskiem myszy usługę postgres, wybierz Właściwości -> Typ uruchomienia -> Ręcznie -> Zastosuj -> OK. Możesz równie łatwo zmienić go z powrotem na automatyczny.
Jeśli zobaczysz na liście inne usługi związane z PostgreSQL, takie jak „pgbouncer” lub „Agent planowania PostgreSQL - pgAgent”, możesz również zmienić ich Typ uruchamiania na Ręczny, ponieważ nie są one zbyt przydatne, jeśli PostgreSQL nie jest uruchomiony. Chociaż będzie to oznaczać więcej problemów za każdym razem, gdy zaczniesz i zatrzymasz, więc to zależy od ciebie. Nie używają tyle zasobów, co sam PostgreSQL i mogą nie mieć zauważalnego wpływu na wydajność twojego systemu.
Jeśli usługa jest uruchomiona, jej stan wyświetli komunikat Uruchomiono, w przeciwnym razie nie będzie uruchomiona.
Aby rozpocząć, kliknij prawym przyciskiem myszy i wybierz Start. Wyświetli się monit o załadowanie i wkrótce powinien zniknąć. Jeśli pojawi się błąd, spróbuj ponownie. Jeśli to nie zadziała, oznacza to, że wystąpił problem z instalacją, być może dlatego, że zmieniłeś niektóre ustawienia w systemie Windows, większość ludzi się nie zmienia, więc znalezienie problemu może wymagać trochę przestoju.
Aby zatrzymać postgres, kliknij usługę prawym przyciskiem myszy i wybierz Stop.
Jeśli kiedykolwiek wystąpi błąd podczas próby połączenia się z bazą danych, sprawdź Usługi, aby upewnić się, że działa.
Aby zapoznać się z innymi bardzo szczegółowymi szczegółami dotyczącymi instalacji EDB PostgreSQL, np. Wersja środowiska wykonawczego Python w oficjalnym pakiecie językowym określonej wersji PostgreSQL, zawsze zapoznaj się z oficjalnym przewodnikiem instalacji EBD , zmień wersję w linku do głównej wersji instalatora.
Zainstaluj postgresql z naparem na Macu
Homebrew nazywa siebie „ brakującym menedżerem pakietów dla macOS ”. Można go używać do budowania i instalowania aplikacji i bibliotek. Po zainstalowaniu możesz użyć polecenia brew
do zainstalowania PostgreSQL i jego zależności w następujący sposób:
brew update
brew install postgresql
Homebrew zazwyczaj instaluje najnowszą stabilną wersję. Jeśli potrzebujesz innego, brew search postgresql
wyświetli listę dostępnych wersji. Jeśli potrzebujesz zbudować PostgreSQL z konkretnymi opcjami, to brew info postgresql
wyświetli listę obsługiwanych opcji. Jeśli potrzebujesz nieobsługiwanej opcji kompilacji, być może będziesz musiał wykonać kompilację samodzielnie, ale nadal możesz użyć Homebrew do zainstalowania typowych zależności.
Uruchom serwer:
brew services start postgresql
Otwórz monit PostgreSQL
psql
Jeśli psql narzeka, że nie ma odpowiedniej bazy danych dla twojego użytkownika, uruchom createdb
.
Zainstaluj PostgreSQL ze źródła w systemie Linux
Zależności:
- GNU Make Version> 3.80
- kompilator C ISO / ANSI (np. gcc)
- ekstraktor jak smoła lub gzip
- zlib-devel
- readline-devel oder libedit-devel
Źródła: Link do najnowszego źródła (9.6.3)
Teraz możesz wyodrębnić pliki źródłowe:
tar -xzvf postgresql-9.6.3.tar.gz
Istnieje wiele różnych opcji konfiguracji PostgreSQL:
Pełny link do pełnej procedury instalacji
Mała lista dostępnych opcji:
-
--prefix=PATH
ścieżka--prefix=PATH
dla wszystkich plików -
--exec-prefix=PATH
Ścieżka--exec-prefix=PATH
dla pliku zależnego od architekta -
--bindir=PATH
ścieżka--bindir=PATH
dla programów wykonywalnych -
--sysconfdir=PATH
Ścieżka--sysconfdir=PATH
dla plików konfiguracyjnych -
--with-pgport=NUMBER
określ port dla swojego serwera -
--with-perl
dodaje obsługę perla -
--with-python
dodaje obsługę python -
--with-openssl
dodaje obsługę openssl -
--with-ldap
dodaje obsługę ldap -
--with-blocksize=BLOCKSIZE
ustaw--with-blocksize=BLOCKSIZE
w KB-
BLOCKSIZE
musi mieć moc 2 oraz od 1 do 32
-
-
--with-wal-segsize=SEGSIZE
ustaw rozmiar segmentu WAL w MB-
SEGSIZE
musi mieć moc 2 między 1 a 64
-
Przejdź do nowo utworzonego folderu i uruchom skrypt cofigure z żądanymi opcjami:
./configure --exec=/usr/local/pgsql
Uruchom polecenie make
aby utworzyć pliki obiektów
Uruchom polecenie make install
aby zainstalować PostgreSQL z wbudowanych plików
Uruchom make clean
aby posprzątać
Dla rozszerzenia przełącz katalog cd contrib
, uruchom make
i make install