Giunsa ang Pag-install sa PostgreSQL 10 Gamit ang Source Code sa Linux


Ang PostgreSQL gitawag usab nga Postgres usa ka gamhanan ug open source object-relational database system. Kini usa ka database sa lebel sa negosyo nga adunay mga bahin sama sa pagsulat sa unahan nga pag-log alang sa pagtugot sa sayup, asynchronous replication, Multi-Version Concurrency Control (MVCC), online/mainit nga pag-backup, punto sa oras nga pagbawi, query planner/optimizer, tablespaces, nested transactions (savepoints ) ug uban pa.

Ang Postgres adunay pinakabag-o nga bersyon 10 nga gipagawas kaniadtong 5th Oct 2017 sa postgres global development group.

Ang mga bahin sa Bag-ong bersyon mao ang mga musunud:

  • Lohikal nga Replikasyon: Kini nga bahin makapahimo sa pagkopya sa indibidwal nga mga butang sa database (bisan kini mga laray, lamesa, o pinili nga mga database) sa mga standby server. Naghatag kini og dugang nga kontrol sa pagkopya sa datos. Gipatuman pinaagi sa paggamit sa modelo sa publisher-subscriber.
  • Ang Quorum Commit for Synchronous Replication: Niini nga feature, ang dba mahimo na nga magspesipiko sa gidaghanon sa mga standby nga nag-ila nga ang mga kausaban sa database nahimo na, aron ang data makonsiderar nga luwas nga gisulat.
  • SCRAM-SHA-256 authentication: Gipauswag nga seguridad nga anaa na sa MD5-based nga password authentication ug storage.
  • Gipauswag ang parallel query execution.
  • Deklarasyon nga pagbahin sa lamesa.
  • Full text search nga suporta alang sa JSON ug JSONB.

Sa kini nga artikulo, among ipasabut kung giunsa ang pag-install sa PostgreSQL 10 gamit ang pag-install sa source code sa mga sistema sa Linux. Kadtong nangita og sayon nga pag-instalar gikan sa distribution package manager mahimo nilang sundon kini nga mga giya sa ubos.

  1. Unsaon Pag-instalar sa PostgreSQL 10 sa CentOS/RHEL ug Fedora
  2. Unsaon Pag-instalar sa PostgreSQL 10 sa Debian ug Ubuntu

I-install ang PostgreSQL Gamit ang Source Code

Ingon nga ang mga postgres usa ka bukas nga gigikanan nga database, mahimo kini matukod gikan sa source code sumala sa mga panginahanglanon/kinahanglanon sa usa ka tawo. mahimo natong ipasibo ang proseso sa pagtukod ug pag-instalar pinaagi sa paghatag og usa o daghang opsyon sa command line para sa lain-laing dugang nga feature.

Ang panguna nga bentaha sa paggamit sa pag-install sa source code mao nga mahimo kini nga mapasibo sa panahon sa pag-install.

1. Una nga i-install ang gikinahanglan nga mga kinahanglanon sama sa gcc, readline-devel ug zlib-devel gamit ang manager sa package sama sa gipakita.

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

2. I-download ang source code tar file gikan sa opisyal nga wget command direkta sa sistema.

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

3. Gamita ang tar command aron makuha ang na-download nga tarball file. Bag-ong direktoryo nga ginganlag postgresql-10.0 pagabuhaton.

# 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. Ang sunod nga lakang alang sa pamaagi sa pag-instalar mao ang pag-configure sa na-download nga source code pinaagi sa pagpili sa mga kapilian sumala sa imong mga panginahanglan.

# cd postgresql-10.0

gamita ang ./configure --help para makakuha og tabang bahin sa lain-laing mga opsyon.

# ./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. Karon paghimo og usa ka direktoryo diin gusto nimo i-install ang mga postgres nga mga file ug gamita ang prefix nga kapilian nga adunay configure.

# 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. Human sa pag-configure, sunod magsugod kita sa pagtukod sa postgreSQL gamit ang mosunod nga make command.

# make

Human mahuman ang proseso sa pagtukod, karon i-install ang postgresql gamit ang mosunod nga sugo.

# make install

Ang Postgresql 10 na-install sa /opt/PostgreSQL-10 nga direktoryo.

7. Karon paghimo ug postgres user ug directory nga gamiton isip data directory para sa pagsugod sa database cluster. Ang tag-iya niini nga direktoryo sa datos kinahanglan nga postgres user ug ang mga permiso kinahanglan nga 700 ug magbutang usab og dalan alang sa postgresql binaries para sa atong kasayon.

# 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. Karon pagsugod sa database gamit ang mosunod nga sugo isip postgres user sa dili pa gamiton ang bisan unsang postgres commands.

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

Kung diin ang -D mao ang lokasyon para sa kini nga cluster sa database o mahimo naton isulti nga kini usa ka direktoryo sa datos kung diin gusto namon nga magsugod ang cluster sa database, -U alang sa ngalan sa superuser sa database ug - W para sa password prompt para sa db superuser.

Alang sa dugang nga impormasyon ug mga kapilian mahimo natong i-refer ang initdb –help.

9. Human sa pagsugod sa database, sugdi ang database cluster o kung kinahanglan nimo nga usbon ang port o paminaw nga adres para sa server, i-edit ang postgresql.conf file sa data directory sa database server.

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

10. Human sa pagsugod sa database, pamatud-i ang kahimtang sa proseso sa postgres server pinaagi sa paggamit sa mosunod nga mga sugo.

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

Atong makita nga ang database cluster maayo ang dagan, ug ang startup logs makit-an sa lokasyon nga gitakda sa -l nga opsyon samtang nagsugod sa database cluster.

11. Karon sumpay sa database cluster ug paghimo database pinaagi sa paggamit sa mosunod nga mga sugo.

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

Mao na! sa atong umaabot nga mga artikulo, akong tabonan ang configuration, replication setup ug instalasyon sa pgAdmin tool, hangtod nga magpabilin nga tuned sa Tecmint.