Kif Tinstalla PostgreSQL 10 billi tuża l-Kodiċi Sors fil-Linux


PostgreSQL imsejjaħ ukoll Postgres huwa sistema ta 'database b'saħħitha u ta' sors miftuħ dwar l-oġġetti relazzjonali. Hija database fil-livell ta' intrapriża li għandha karatteristiċi bħal reġistrazzjoni bil-miktub għal tolleranza ta' ħsarat, replikazzjoni asinkronika, Kontroll tal-Konkorrenza ta' Multi-Verżjonijiet (MVCC), backups onlajn/hot, irkupru ta' punt fil-ħin, planner/optimizer ta' query, spazji tat-tabella, transazzjonijiet nested (punti ta' salvataġġ). ) eċċ.

Postgres għandu l-aħħar verżjoni 10 tiegħu rilaxxat fil-5 ta 'Ottubru 2017 mill-grupp ta' żvilupp globali postgres.

Il-karatteristiċi tal-verżjoni l-ġdida huma kif ġej:

  • Replikazzjoni Loġika: Din il-karatteristika tippermetti r-replikazzjoni ta' oġġetti ta' database individwali (kemm jekk huma ringieli, tabelli, jew databases selettivi) fuq servers standby. Jipprovdi aktar kontroll fuq ir-replikazzjoni tad-dejta. Implimentat bl-użu tal-mudell tal-pubblikatur-abbonat.
  • Kommissjoni ta' kworum għal Replikazzjoni Sinkronika: F'din il-karatteristika, dba issa tista' tispeċifika n-numru ta' standby's li jirrikonoxxu li l-bidliet fid-database saru, sabiex id-data tkun tista' titqies miktuba b'mod sikur.
  • Awtentikazzjoni SCRAM-SHA-256: Sigurtà mtejba li l-awtentikazzjoni u l-ħażna tal-password eżistenti bbażati fuq MD5.
  • Eżekuzzjoni mtejba tal-mistoqsijiet paralleli.
  • Tqassim ta' tabella dikjarattiva.
  • Appoġġ għat-tiftix tat-test sħiħ għal JSON u JSONB.

F'dan l-artikolu, se nispjegaw kif tinstalla PostgreSQL 10 billi tuża l-installazzjoni tal-kodiċi tas-sors fis-sistemi Linux. Dawk li qed ifittxu installazzjoni faċli mill-maniġer tal-pakkett tad-distribuzzjoni jistgħu jsegwu dawn il-gwidi hawn taħt.

  1. Kif tinstalla PostgreSQL 10 fuq CentOS/RHEL u Fedora
  2. Kif tinstalla PostgreSQL 10 fuq Debian u Ubuntu

Installa PostgreSQL billi tuża l-Kodiċi Sors

Peress li postgres hija database ta 'sors miftuħ, tista' tinbena mill-kodiċi tas-sors skont il-ħtiġijiet/rekwiżiti ta 'wieħed. nistgħu nippersonalizzaw il-proċess tal-bini u l-installazzjoni billi nipprovdu għażla waħda jew aktar tal-linja tal-kmand għal diversi karatteristiċi addizzjonali.

Vantaġġ ewlieni tal-użu tal-installazzjoni tal-kodiċi tas-sors huwa li jista 'jkun personalizzat ħafna waqt l-installazzjoni.

1. L-ewwel installa l-prerekwiżiti meħtieġa bħal gcc, readline-devel u zlib-devel billi tuża l-maniġer tal-pakketti kif muri.

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

2. Niżżel il-fajl tar-kodiċi tas-sors mill-kmand wget uffiċjali direttament fuq is-sistema.

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

3. Uża l-kmand tar-qatran biex tiġbed il-fajl tarball imniżżel. Se jinħoloq direttorju ġdid bl-isem 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. Il-pass li jmiss għall-proċedura ta 'installazzjoni huwa li tikkonfigura l-kodiċi tas-sors imniżżel billi tagħżel l-għażliet skont il-bżonnijiet tiegħek.

# cd postgresql-10.0

uża ./configure --help biex tikseb għajnuna dwar diversi għażliet.

# ./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. Issa oħloq direttorju fejn trid tinstalla fajls postgres u uża l-għażla tal-prefiss b'konfigurazzjoni.

# 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. Wara l-konfigurazzjoni, li jmiss se nibdew nibnu postgreSQL billi tuża l-kmand make li ġej.

# make

Wara li jintemm il-proċess tal-bini, issa installa postgresql billi tuża l-kmand li ġej.

# make install

Postgresql 10 ġie installat fid-direttorju /opt/PostgreSQL-10.

7. Issa oħloq utent u direttorju postgres biex jintuża bħala direttorju tad-dejta għall-inizjalizzazzjoni tal-cluster tad-database. Is-sid ta 'dan id-direttorju tad-dejta għandu jkun utent ta' postgres u l-permessi għandhom ikunu 700 u jistabbilixxu wkoll passaġġ għal binarji postgresql għall-faċilità tagħna.

# 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. Issa initialize database billi tuża l-kmand li ġej bħala utent ta 'postgres qabel ma tuża kwalunkwe kmandi ta' postgres.

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

Fejn -D huwa l-post għal dan il-cluster tad-database jew nistgħu ngħidu li huwa direttorju tad-data fejn irridu niizjalizzaw cluster tad-database, -U għall-isem tas-superuser tad-database u - Wgħall-password fil-pront għal db superuser.

Għal aktar informazzjoni u għażliet nistgħu nirreferu initdb –help.

9. Wara l-inizjalizzazzjoni tad-database, ibda l-cluster tad-database jew jekk għandek bżonn tibdel l-indirizz tal-port jew tisma' għas-server, editja l-fajl postgresql.conf fid-direttorju tad-data tas-server tad-database.

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

10. Wara li tibda d-database, ivverifika l-istatus tal-proċess tas-server postgres billi tuża l-kmandi li ġejjin.

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

Nistgħu naraw li l-cluster tad-database qed jaħdem tajjeb, u zkuk tal-istartjar jistgħu jinstabu fil-post speċifikat bl-għażla -l waqt li tibda l-cluster tad-database.

11. Issa qabbad mal-grupp tad-database u oħloq database billi tuża l-kmandi li ġejjin.

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

Dak hu! fl-artikoli li ġejjin tagħna, se nkopri l-konfigurazzjoni, is-setup tar-replikazzjoni u l-installazzjoni tal-għodda pgAdmin, sa dak iż-żmien nibqa' sintonizzat ma' Tecmint.