ວິທີການຕິດຕັ້ງ PostgreSQL 10 ໂດຍໃຊ້ລະຫັດ Source ໃນ Linux


PostgreSQL ຍັງເອີ້ນວ່າ Postgres ແມ່ນລະບົບຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບແຫຼ່ງຂໍ້ມູນທີ່ມີປະສິດທິພາບແລະເປີດກວ້າງ. ມັນແມ່ນຖານຂໍ້ມູນລະດັບວິສາຫະກິດທີ່ມີຄຸນລັກສະນະເຊັ່ນການຂຽນການຕັດໄມ້ລ່ວງ ໜ້າ ເພື່ອຄວາມທົນທານຕໍ່ຄວາມຜິດ, ການ ຈຳ ລອງແບບບໍ່ຕິດກັນ, ການຄວບຄຸມເງິນຕາຫຼາຍສະບັບ (MVCC), ການ ສຳ ຮອງຂໍ້ມູນ online/ຮ້ອນ, ຈຸດໃນການກູ້ຄືນເວລາ, ຜູ້ວາງແຜນ/ຜູ້ຄົ້ນຫາທີ່ດີທີ່ສຸດ, ຕາຕະລາງ, ການເຮັດທຸລະ ກຳ ທີ່ຮວບຮວມ (ບັນທຶກຂໍ້ມູນ) ) ແລະອື່ນໆ.

Postgres ມີລຸ້ນ 10 ລຸ້ນ ໃໝ່ ຫຼ້າສຸດໃນວັນທີ 5 ຕຸລາ 2017 ໂດຍກຸ່ມພັດທະນາໂລກ postgres.

ຄຸນລັກສະນະຂອງລຸ້ນ ໃໝ່ ມີດັ່ງນີ້:

  • ການ ຈຳ ລອງແບບມີເຫດຜົນ: ຄຸນລັກສະນະນີ້ຊ່ວຍໃຫ້ການ ຈຳ ລອງຖານຂໍ້ມູນຂອງແຕ່ລະວັດຖຸຖານຂໍ້ມູນ (ບໍ່ວ່າຈະເປັນແຖວ, ຕາຕະລາງ, ຫຼືຖານຂໍ້ມູນທີ່ເລືອກ) ໃນທົ່ວເຊີບເວີທີ່ໃຊ້ງານໄດ້. ມັນສະຫນອງການຄວບຄຸມຫຼາຍກວ່າການເຮັດຊ້ ຳ ຂໍ້ມູນ. ຈັດຕັ້ງປະຕິບັດໂດຍການ ນຳ ໃຊ້ຕົວແບບຜູ້ຈອງ - ຜູ້ຈອງ.
  • Quorum Commit for Replication Synchronous: ໃນຄຸນລັກສະນະນີ້, ດຽວນີ້ dba ສາມາດລະບຸ ຈຳ ນວນສະແຕນບາຍທີ່ຍອມຮັບວ່າການປ່ຽນແປງຂອງຖານຂໍ້ມູນໄດ້ເຮັດແລ້ວ, ເພື່ອໃຫ້ຂໍ້ມູນຖືກພິຈາລະນາຂຽນເປັນຢ່າງປອດໄພ.
  • ການກວດສອບຄວາມລະອຽດ SCRAM-SHA-256: ການປັບປຸງຄວາມປອດໄພທີ່ມີການກວດສອບລະຫັດຜ່ານແລະການເກັບຮັກສາລະຫັດຜ່ານ MD5 ທີ່ມີຢູ່.
  • ການປັບປຸງແບບສອບຖາມແບບຂະຫນານປັບປຸງ.
  • ການແບ່ງປັນຕາຕະລາງການປະກາດ.
  • ສະ ໜັບ ສະ ໜູນ ການຄົ້ນຫາຂໍ້ຄວາມເຕັມ ສຳ ລັບ JSON ແລະ JSONB.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ PostgreSQL 10 ໂດຍໃຊ້ການຕິດຕັ້ງລະຫັດແຫຼ່ງໃນລະບົບ Linux. ຜູ້ທີ່ຊອກຫາການຕິດຕັ້ງງ່າຍໆຈາກຜູ້ຈັດການຊຸດແຈກຈ່າຍພວກເຂົາສາມາດເຮັດຕາມ ຄຳ ແນະ ນຳ ຕໍ່ໄປນີ້.

<

  • ວິທີການຕິດຕັ້ງ PostgreSQL 10 ເທິງ CentOS/RHEL ແລະ Fedora
  • ວິທີການຕິດຕັ້ງ PostgreSQL 10 ເທິງ Debian ແລະ Ubuntu
  • ຕິດຕັ້ງ PostgreSQL ໂດຍໃຊ້ລະຫັດແຫຼ່ງຂໍ້ມູນ

    ເນື່ອງຈາກວ່າ postgres ແມ່ນຖານຂໍ້ມູນທີ່ເປີດຢູ່, ມັນສາມາດສ້າງຈາກລະຫັດແຫຼ່ງຕາມຄວາມຕ້ອງການ/ຄວາມຕ້ອງການຂອງມັນ. ພວກເຮົາສາມາດປັບແຕ່ງຂັ້ນຕອນການກໍ່ສ້າງແລະຕິດຕັ້ງໂດຍໃຫ້ທາງເລືອກເສັ້ນ ຄຳ ສັ່ງ ໜຶ່ງ ຫຼືຫຼາຍກວ່າ ສຳ ລັບຄຸນລັກສະນະເພີ່ມເຕີມຕ່າງໆ.

    ປະໂຫຍດຕົ້ນຕໍຂອງການ ນຳ ໃຊ້ການຕິດຕັ້ງລະຫັດແຫຼ່ງແມ່ນມັນສາມາດປັບແຕ່ງໄດ້ສູງໃນລະຫວ່າງການຕິດຕັ້ງ.

    1. ຕິດຕັ້ງອຸປະກອນທີ່ຕ້ອງການກ່ອນອື່ນ ໝົດ ເຊັ່ນ: gcc, readline-devel ແລະ zlib-devel ໂດຍ ນຳ ໃຊ້ຜູ້ຈັດການຊຸດດັ່ງທີ່ສະແດງໄວ້.

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

    2. ດາວໂຫລດເອກະສານ tar code source ຈາກ ຄຳ ສັ່ງ wget ຢ່າງເປັນທາງການໃນລະບົບ.

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

    3. ໃຊ້ ຄຳ ສັ່ງ tar ເພື່ອສະກັດເອກະສານ tarball ທີ່ດາວໂຫລດມາ. ໄດເລກະທໍລີ ໃໝ່ ທີ່ໃສ່ຊື່ 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. ຂັ້ນຕອນຕໍ່ໄປ ສຳ ລັບຂັ້ນຕອນການຕິດຕັ້ງແມ່ນການ ກຳ ນົດລະຫັດແຫຼ່ງທີ່ດາວໂຫລດມາໂດຍການເລືອກຕົວເລືອກຕາມຄວາມຕ້ອງການຂອງທ່ານ.

    # cd postgresql-10.0
    

    ໃຊ້ ./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. ຕອນນີ້ສ້າງໄດເລກະທໍລີທີ່ທ່ານຕ້ອງການຕິດຕັ້ງແຟ້ມ postgres ແລະໃຊ້ຕົວເລືອກ ຄຳ ນຳ ໜ້າ ກັບ 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. ຫລັງຈາກມີການຕັ້ງຄ່າ, ຕໍ່ໄປພວກເຮົາຈະເລີ່ມສ້າງ postgreSQL ໂດຍໃຊ້ ຄຳ ສັ່ງ make make.

    # make
    

    ຫຼັງຈາກສ້າງຂັ້ນຕອນ ສຳ ເລັດຮູບແລ້ວ, ຕອນນີ້ຕິດຕັ້ງ postgresql ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # make install
    

    Postgresql 10 ໄດ້ຕິດຕັ້ງຢູ່ໃນ/opt/PostgreSQL-10 directory.

    7. ຕອນນີ້ສ້າງ postgres ຜູ້ໃຊ້ແລະໄດເລກະທໍລີທີ່ຈະໃຊ້ເປັນບ່ອນເກັບຂໍ້ມູນເພື່ອເລີ່ມຕົ້ນກຸ່ມຂໍ້ມູນ. ເຈົ້າຂອງປື້ມບັນທຶກຂໍ້ມູນນີ້ຄວນຈະເປັນຜູ້ໃຊ້ postgres ແລະສິດອະນຸຍາດຄວນຈະເປັນ 700 ແລະຍັງ ກຳ ນົດເສັ້ນທາງ ສຳ ລັບ binaries postgresql ເພື່ອຄວາມສະດວກສະບາຍຂອງພວກເຮົາ.

    # 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. ດຽວນີ້ເລີ່ມຕົ້ນຖານຂໍ້ມູນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເປັນຜູ້ໃຊ້ postgres ກ່ອນທີ່ຈະໃຊ້ ຄຳ ສັ່ງ postgres ໃດໆ.

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

    ບ່ອນທີ່ -D ແມ່ນທີ່ຕັ້ງ ສຳ ລັບກຸ່ມຖານຂໍ້ມູນນີ້ຫຼືພວກເຮົາສາມາດເວົ້າວ່າມັນແມ່ນໄດເລກະທໍລີຂໍ້ມູນບ່ອນທີ່ພວກເຮົາຕ້ອງການເລີ່ມຕົ້ນກຸ່ມຖານຂໍ້ມູນ, -U ສຳ ລັບຊື່ຜູ້ ນຳ ໃຊ້ຖານຂໍ້ມູນແລະ - W ສຳ ລັບການກະຕຸ້ນເຕືອນລະຫັດຜ່ານ ສຳ ລັບ superuser db.

    ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມແລະທາງເລືອກພວກເຮົາສາມາດອ້າງອີງ initdb –help.

    9. ຫຼັງຈາກການເລີ່ມຕົ້ນຖານຂໍ້ມູນ, ເລີ່ມຕົ້ນ cluster ຖານຂໍ້ມູນຫຼືຖ້າທ່ານຕ້ອງການປ່ຽນ port ຫຼືຟັງທີ່ຢູ່ ສຳ ລັບ server, ດັດແກ້ເອກະສານ postgresql.conf ໃນຖານຂໍ້ມູນຂອງ server server.

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

    10. ຫຼັງຈາກເລີ່ມຕົ້ນຖານຂໍ້ມູນ, ກວດສອບສະຖານະຂອງຂະບວນການຂອງ server postgres ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

    ພວກເຮົາສາມາດເຫັນໄດ້ວ່າ cluster ຖານຂໍ້ມູນແມ່ນ ກຳ ລັງ ດຳ ເນີນຢູ່ເປັນຢ່າງດີ, ແລະບັນທຶກການເລີ່ມຕົ້ນສາມາດພົບໄດ້ຢູ່ສະຖານທີ່ທີ່ລະບຸໄວ້ກັບຕົວເລືອກ -l ໃນຂະນະທີ່ເລີ່ມຕົ້ນ cluster ຖານຂໍ້ມູນ.

    11. ຕອນນີ້ເຊື່ອມຕໍ່ກັບ cluster ຖານຂໍ້ມູນແລະສ້າງຖານຂໍ້ມູນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

    ນັ້ນແມ່ນມັນ! ໃນບົດຂຽນທີ່ ກຳ ລັງຈະມາເຖິງຂອງຂ້ອຍ, ຂ້ອຍຈະເວົ້າກ່ຽວກັບການຕັ້ງຄ່າ, ການຕັ້ງຄ່າການເຮັດແບບ ຈຳ ລອງແລະການຕິດຕັ້ງເຄື່ອງມື pgAdmin, ຈົນກວ່າຈະຕິດຕາມກັບ Tecmint.