Kā instalēt PostgreSQL 10, izmantojot avota kodu Linux


PostgreSQL, ko sauc arī par Postgres, ir spēcīga un atvērta pirmkoda objektu-relāciju datu bāzu sistēma. Tā ir uzņēmuma līmeņa datu bāze, kurai ir tādas funkcijas kā reģistrēšana uz priekšu kļūdu tolerancei, asinhronā replikācija, daudzversiju vienlaicīguma kontrole (MVCC), tiešsaistes/karstas dublēšanas, laika atjaunošana, vaicājumu plānotājs/optimizētājs, tablo vietas, ligzdoti darījumi (savepunkti) ) utt.

Postgres ir jaunākā versija 10, kuru 2017. gada 5. oktobrī izlaida postgres globālās attīstības grupa.

Jaunās versijas funkcijas ir šādas:

  • Loģiskā replikācija: šī funkcija ļauj replikēt atsevišķus datu bāzes objektus (vai tas būtu rindas, tabulas vai selektīvās datu bāzes) gaidīšanas serveros. Tas nodrošina lielāku kontroli pār datu replikāciju. Īstenots, izmantojot izdevēja un abonenta modeli.
  • Kvoruma apņemšanās sinhronai replikācijai: šajā funkcijā dba tagad var norādīt to gaidīšanas režīmu skaitu, kuri atzīst, ka datu bāzes izmaiņas ir veiktas, lai datus varētu uzskatīt par droši uzrakstītiem.
  • SCRAM-SHA-256 autentifikācija: uzlabota pašreizējā MD5 bāzes paroles autentifikācijas un krātuves drošība.
  • Uzlabota paralēlās vaicājuma izpilde.
  • deklaratīvā tabulas sadalīšana.
  • Pilna teksta meklēšanas atbalsts JSON un JSONB.

Šajā rakstā mēs paskaidrosim, kā instalēt PostgreSQL 10, izmantojot avota koda instalēšanu Linux sistēmās. Tie, kuri meklē ērtu instalēšanu no izplatīšanas pakotņu pārvaldnieka, var sekot šiem norādījumiem.

  1. Kā instalēt PostgreSQL 10 centOS/RHEL un Fedora
  2. Kā instalēt PostgreSQL 10 Debian un Ubuntu

Instalējiet PostgreSQL, izmantojot pirmkodu

Tā kā postgres ir atvērtā pirmkoda datu bāze, to var veidot no pirmkoda atbilstoši savām vajadzībām/prasībām. mēs varam pielāgot izveides un instalēšanas procesu, piegādājot vienu vai vairākas komandrindas opcijas dažādām papildu funkcijām.

Galvenā avota koda instalēšanas priekšrocība ir tā, ka to var ļoti pielāgot instalēšanas laikā.

1. Vispirms instalējiet nepieciešamos priekšnosacījumus, piemēram, gcc, readline-devel un zlib-devel, izmantojot pakotņu pārvaldnieku, kā parādīts.

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

2. Lejupielādējiet avota koda darvas failu no oficiālās komandas wget tieši sistēmā.

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

3. Izmantojiet komandu tar, lai izvilktu lejupielādēto tarball failu. Tiks izveidots jauns katalogs ar nosaukumu 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. Nākamais instalēšanas procedūras solis ir lejupielādētā avota koda konfigurēšana, izvēloties opcijas atbilstoši savām vajadzībām.

# cd postgresql-10.0

izmantojiet ./configure --help , lai saņemtu palīdzību par dažādām iespējām.

# ./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. Tagad izveidojiet direktoriju, kurā vēlaties instalēt postgres failus, un izmantojiet prefiksa opciju ar konfigurēšanu.

# 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ēc konfigurēšanas mēs sāksim veidot postgreSQL, izmantojot komandu make.

# make

Pēc būvniecības procesa beigām tagad instalējiet postgresql, izmantojot šādu komandu.

# make install

Postgresql 10 ir instalēts direktorijā/opt/PostgreSQL-10.

7. Tagad izveidojiet postgres lietotāju un direktoriju, kas jāizmanto kā datu katalogs datu bāzes kopas inicializēšanai. Šī datu direktorija īpašniekam vajadzētu būt postgres lietotājam, atļaujām jābūt 700, kā arī mūsu ērtībai iestatīt ceļu postgresql bināros failos.

# 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. Tagad inicializējiet datu bāzi, izmantojot šādu komandu kā postgres lietotājs, pirms lietojat jebkādas postgres komandas.

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

Kur -D ir šīs datu bāzes kopas atrašanās vieta, vai mēs varam teikt, ka tas ir datu katalogs, kurā mēs vēlamies inicializēt datu bāzes kopu, -U datu bāzes virslietotāja nosaukumam un - W paroles uzvednei db superlietotājam.

Lai iegūtu vairāk informācijas un iespējas, mēs varam atsaukties uz initdb –help.

9. Pēc datu bāzes inicializēšanas palaidiet datu bāzes kopu vai, ja jums ir jāmaina servera ports vai klausīšanās adrese, rediģējiet datnes datu bāzes servera failu postgresql.conf.

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

10. Pēc datu bāzes palaišanas pārbaudiet postgres servera procesa statusu, izmantojot šādas komandas.

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

Mēs varam redzēt, ka datu bāzes kopa darbojas labi, un startēšanas žurnālus var atrast vietā, kas norādīta ar opciju -l , startējot datu bāzes kopu.

11. Tagad izveidojiet savienojumu ar datu bāzes kopu un izveidojiet datu bāzi, izmantojot šādas komandas.

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

Tieši tā! mūsu gaidāmajos rakstos es apskatīšu pgAdmin rīka konfigurēšanu, replikācijas iestatīšanu un instalēšanu, līdz tam sekojiet līdzi Tecmint.