PostgreSQL 10 installimine lähtekoodi abil Linuxis


PostgreSQL, mida nimetatakse ka Postgresiks, on võimas ja avatud lähtekoodiga objekt-relatsiooniline andmebaasisüsteem. See on ettevõtte tasandi andmebaas, millel on sellised funktsioonid nagu tõrkekindluse jaoks ette kirjutamine, asünkroonne replikatsioon, mitme versiooni samaaegsuse juhtimine (MVCC), veebi-/varukoopiad, ajahetke taastamine, päringute planeerija/optimeerija, tabeliruumid, pesastatud tehingud (salvestuspunktid) ) jne.

Postgresi uusim versioon 10 avaldati 5. oktoobril 2017 postgresi globaalse arendusgrupi poolt.

Uue versiooni omadused on järgmised:

  • Loogiline replikatsioon: see funktsioon võimaldab üksikute andmebaasiobjektide (olgu need read, tabelid või valikulised andmebaasid) paljundamist ooteserverites. See tagab andmete replikatsiooni üle suurema kontrolli. Rakendatud avaldaja-tellija mudeli abil.
  • Kvoorumikohustus sünkroonse replikatsiooni jaoks: selles funktsioonis saab dba nüüd määrata ooterežiimide arvu, mis tunnistavad andmebaasi muudatuste tegemist, et andmeid saaks lugeda turvaliselt kirjutatuks.
  • SCRAM-SHA-256 autentimine: täiustatud turvalisus, mis on olemas olemasoleva MD5-põhise parooli autentimise ja salvestamise jaoks.
  • Parem päringu paralleelne täitmine.
  • Deklaratiivne tabeli jaotamine.
  • JSONi ja JSONB-i täistekstiotsingu tugi.

Selles artiklis selgitame, kuidas installida PostgreSQL 10 lähtekoodi installimise abil Linuxi süsteemidesse. Need, kes otsivad hõlpsat installimist jaotuspaketi haldurilt, saavad järgida neid juhiseid.

  1. Kuidas installida PostgreSQL 10 CentOS/RHEL-i ja Fedorasse
  2. Kuidas installida PostgreSQL 10 Debiani ja Ubuntu

Installige PostgreSQL lähtekoodi abil

Kuna postgres on avatud lähtekoodiga andmebaas, saab seda ehitada lähtekoodist vastavalt oma vajadustele/nõuetele. saame koostamis- ja installiprotsessi kohandada, pakkudes ühte või mitut käsureavalikut erinevate lisafunktsioonide jaoks.

Lähtekoodi installimise kasutamise peamine eelis on see, et seda saab installimise ajal väga kohandada.

1. Esmalt installige vajalikud paketihaldurid, nagu gcc, readline-devel ja zlib-devel, kasutades paketihaldurit, nagu näidatud.

# yum install gcc zlib-devel readline-devel     [On RHEL/CentOS]
# apt install gcc zlib1g-dev libreadline6-dev   [On Debian/Ubuntu]

2. Laadige lähtekoodi tõrv fail alla ametlikust käsust wget otse süsteemis.

# wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.bz2

3. Kasutage allalaaditud tarballi faili ekstraktimiseks käsku tar. Luuakse uus kataloog nimega postgresql-10.0.

# tar -xvf postgresql-10.0.tar.bz2
# ll
total 19236
-rw-------. 1 root root      933 Mar 18  2015 anaconda-ks.cfg
-rw-r--r--. 1 root root     8823 Mar 18  2015 install.log
-rw-r--r--. 1 root root     3384 Mar 18  2015 install.log.syslog
drwxrwxrwx  6 1107 1107     4096 Oct  3  2017 postgresql-10.0
-rw-r--r--  1 root root 19639147 Oct  3  2017 postgresql-10.0.tar.bz2

4. Installimisprotseduuri järgmine samm on allalaaditud lähtekoodi konfigureerimine, valides vastavalt teie vajadustele valikud.

# cd postgresql-10.0

mitmesuguste valikute kohta abi saamiseks kasutage ./configure --help .

# ./configure --help

Defaults for the options are specified in brackets.
Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/pgsql]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

5. Nüüd looge kataloog, kuhu soovite postgres-failid installida, ja kasutage konfigureerimisega prefiksivalikut.

# mkdir /opt/PostgreSQL-10/
# ./configure --prefix=/opt/PostgreSQL-10
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for WAL segment size... 16MB
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc supports -Wdeclaration-after-statement... yes
checking whether gcc supports -Wendif-labels... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wformat-security... yes
checking whether gcc supports -fno-strict-aliasing... yes
checking whether gcc supports -fwrapv... yes
checking whether gcc supports -fexcess-precision=standard... no
....

6. Pärast seadistamist hakkame järgmisena üles ehitama postgreSQL-i, kasutades käsku make make.

# make

Pärast koostamisprotsessi lõppu installige nüüd postgresql järgmise käsu abil.

# make install

Postgresql 10 on installitud kataloogi/opt/PostgreSQL-10.

7. Nüüd looge postgresi kasutaja ja kataloog, mida kasutatakse andmebaasiklastri lähtestamiseks andmekataloogina. Selle andmekataloogi omanik peaks olema postgresi kasutaja ja õigused peaksid olema 700 ning meie hõlbustamiseks määrake ka postgresql binaarkaarte tee.

# useradd postgres
# passwd postgres
# mkdir /pgdatabase/data
# chown -R postgres. /pgdatabase/data
# echo 'export PATH=$PATH:/opt/PostgreSQL-10/bin' > /etc/profile.d/postgres.sh

8. Nüüd lähtestage andmebaas, kasutades postgresi kasutajana järgmist käsku, enne kui kasutate postgresi käske.

# su postgres
$ initdb -D /pgdatabase/data/ -U postgres -W

Kus -D on selle andmebaasi klastri asukoht või võime öelda, et see on andmekataloog, kus me tahame andmebaasi klastri lähtestada, -U andmebaasi ülkasutaja nime ja - W db superkasutaja parooliviiba jaoks.

Lisateavet ja valikuid leiate aadressilt initdb -help.

9. Pärast andmebaasi lähtestamist käivitage andmebaasiklaster või muutke serveri porti või kuulamisaadressi, redigeerige faili postgresql.conf andmebaasiserveri andmekataloogis.

$ pg_ctl -D /pgdatabase/data/ -l /pglog/db_logs/start.log start

10. Pärast andmebaasi käivitamist kontrollige postgres-serveri protsessi olekut järgmiste käskude abil.

$ ps -ef |grep -i postgres
$ netstat -apn |grep -i 51751

Näeme, et andmebaasiklaster töötab hästi ja käivituslogid leiate andmebaasi klastri käivitamise ajal suvandiga -l määratud asukohast.

11. Nüüd ühendage andmebaasiklastriga ja looge andmebaas järgmiste käskude abil.

$ psql -p 51751
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

See on kõik! meie peatsetes artiklites käsitlen pgAdmini tööriista konfigureerimist, replikatsiooni seadistamist ja installimist, hoian end siis Tecminti peal.