Jinsi ya Kufunga PostgreSQL 10 Kutumia Msimbo wa Chanzo katika Linux


PostgreSQL pia inaitwa Postgres ni mfumo wa hifadhidata wenye nguvu na chanzo huria wa uhusiano wa kitu. Ni hifadhidata ya kiwango cha biashara iliyo na vipengee kama vile kuandika kumbukumbu kwa uvumilivu wa makosa, urudufishaji wa asynchronous, Udhibiti wa Ubadilishanaji wa Toleo nyingi (MVCC), nakala rudufu za mtandaoni/moto, urejeshaji wa wakati, mpangaji wa hoja/kiboreshaji, nafasi za mezani, shughuli zilizowekwa (savepoints). ) na kadhalika.

Postgres ina toleo lake la hivi punde la 10 lililotolewa tarehe 5 Okt 2017 na kikundi cha maendeleo cha kimataifa cha postgres.

Vipengele vya toleo jipya ni kama ifuatavyo:

  • Urudufishaji wa Kimantiki: Kipengele hiki huwezesha urudufishaji wa vitu binafsi vya hifadhidata (iwe safu mlalo, jedwali, au hifadhidata teule) kwenye seva za kusubiri. Inatoa udhibiti zaidi juu ya urudufu wa data. Inatekelezwa kwa kutumia kielelezo cha mchapishaji-mfuatiliaji.
  • Ahadi ya Akidi ya Urudufishaji Usawazishaji: Katika kipengele hiki, dba sasa inaweza kubainisha idadi ya kusubiri ambayo inakiri kuwa mabadiliko kwenye hifadhidata yamefanyika, ili data iweze kuchukuliwa kuwa imeandikwa kwa usalama.
  • Uthibitishaji wa SCRAM-SHA-256: Usalama ulioimarishwa wa uthibitishaji na uhifadhi wa nenosiri uliopo wa MD5.
  • Utekelezaji wa hoja sambamba ulioboreshwa.
  • Ugawaji wa jedwali tangazo.
  • Usaidizi kamili wa utafutaji wa maandishi kwa JSON na JSONB.

Katika nakala hii, tutaelezea jinsi ya kusakinisha PostgreSQL 10 kwa kutumia usakinishaji wa msimbo wa chanzo katika mifumo ya Linux. Wale wanaotafuta usakinishaji rahisi kutoka kwa msimamizi wa kifurushi cha usambazaji wanaweza kufuata miongozo hii hapa chini.

  1. Jinsi ya kusakinisha PostgreSQL 10 kwenye CentOS/RHEL na Fedora
  2. Jinsi ya kusakinisha PostgreSQL 10 kwenye Debian na Ubuntu

Sakinisha PostgreSQL Kwa Kutumia Msimbo wa Chanzo

Kama postgres ni hifadhidata ya chanzo wazi, inaweza kujengwa kutoka kwa nambari ya chanzo kulingana na mahitaji/mahitaji ya mtu. tunaweza kubinafsisha mchakato wa ujenzi na usakinishaji kwa kutoa chaguo moja au zaidi za mstari wa amri kwa vipengele mbalimbali vya ziada.

Faida kuu ya kutumia usakinishaji wa msimbo wa chanzo ni kwamba inaweza kubinafsishwa sana wakati wa usakinishaji.

1. Sakinisha kwanza mahitaji ya lazima kama vile gcc, readline-devel na zlib-devel kwa kutumia kidhibiti kifurushi kama inavyoonyeshwa.

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

2. Pakua faili ya tar ya msimbo wa chanzo kutoka kwa amri rasmi ya wget moja kwa moja kwenye mfumo.

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

3. Tumia amri ya tar kutoa faili ya tarball iliyopakuliwa. Saraka mpya inayoitwa postgresql-10.0 itaundwa.

# 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. Hatua inayofuata ya utaratibu wa usakinishaji ni kusanidi msimbo wa chanzo uliopakuliwa kwa kuchagua chaguo kulingana na mahitaji yako.

# cd postgresql-10.0

tumia ./configure --help kupata usaidizi kuhusu chaguo mbalimbali.

# ./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. Sasa unda saraka ambapo unataka kusakinisha faili za postgres na utumie chaguo la kiambishi awali na usanidi.

# 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. Baada ya kusanidi, ijayo tutaanza kujenga postgreSQL kwa kutumia zifuatazo make amri.

# make

Baada ya mchakato wa ujenzi kukamilika, sasa sasisha postgresql kwa kutumia amri ifuatayo.

# make install

Postgresql 10 imewekwa kwenye saraka /opt/PostgreSQL-10.

7. Sasa unda mtumiaji wa posta na saraka itakayotumiwa kama saraka ya data kwa kuanzisha nguzo ya hifadhidata. Mmiliki wa saraka hii ya data anapaswa kuwa mtumiaji wa postgres na ruhusa zinapaswa kuwa 700 na pia kuweka njia ya jozi za postgresql kwa urahisi wetu.

# 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. Sasa anzisha hifadhidata kwa kutumia amri ifuatayo kama mtumiaji wa posta kabla ya kutumia amri zozote za posta.

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

Ambapo -D ni eneo la kundi hili la hifadhidata au tunaweza kusema ni saraka ya data ambapo tunataka kuanzisha nguzo ya hifadhidata, -U kwa jina la mtumiaji mkuu wa hifadhidata na - W kwa kidokezo cha nenosiri kwa mtumiaji mkuu wa db.

Kwa maelezo zaidi na chaguo tunaweza kurejelea initdb -help.

9. Baada ya kuanzisha hifadhidata, anzisha kikundi cha hifadhidata au ikiwa unahitaji kubadilisha mlango au anwani ya kusikiliza kwa seva, hariri faili ya postgresql.conf katika saraka ya data ya seva ya hifadhidata.

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

10. Baada ya kuanza hifadhidata, thibitisha hali ya mchakato wa seva ya posta kwa kutumia amri zifuatazo.

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

Tunaweza kuona kwamba nguzo ya hifadhidata inaendelea vizuri, na kumbukumbu za kuanzia zinaweza kupatikana katika eneo lililobainishwa na chaguo la -l wakati wa kuanza kundi la hifadhidata.

11. Sasa unganisha kwenye kundi la hifadhidata na uunde hifadhidata kwa kutumia amri zifuatazo.

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

Hiyo ndiyo! katika makala yetu yajayo, nitashughulikia usanidi, usanidi wa urudufishaji na usakinishaji wa zana ya pgAdmin, hadi wakati huo endelea kuwa karibu na Tecmint.