GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat PostgreSQL pomocí pgAdmin na CentOS 8

Úvod

PostgreSQL je nejpokročilejší RDBMS a pgAdmin je webové uživatelské rozhraní pro Postgres. Zde uvidíte, jak nainstalovat PostgreSQL pomocí pgAdmin na CentOS / RHEL 8.

Co je PostgreSQL?

PostgreSQL (také známý jako Postgres ) je bezplatný a otevřený systém pro správu relačních databází (RDBMS), který klade důraz na rozšiřitelnost a shodu s SQL. PostgreSQL byl původně pojmenován POSTGRES, odkazující na svůj původ jako nástupce Ingres databáze. V roce 1996 byl projekt přejmenován na PostgreSQL, aby odrážel jeho podporu pro SQL.

PostgreSQL obsahuje transakce s vlastnostmi Atomicita, Konzistence, Izolace, Trvanlivost (ACID), automaticky aktualizovatelné pohledy, materializované pohledy, spouštěče, cizí klíče a uložené procedury. Je navržena tak, aby zvládla řadu úloh, od jednotlivých počítačů po datové sklady nebo webové služby s mnoha souběžnými uživateli. Jde o výchozí databázi pro macOS Server a je také k dispozici pro Linux, FreeBSD, OpenBSD a Windows.

Co je pgAdmin?

pgAdmin je bezplatný a open source nástroj pro správu grafického uživatelského rozhraní (GUI) pro databázové servery Postgres.

Kromě toho je pgAdmin dostupný v desktopových a webových rozhraních. pgAdmin je bohatý na funkce a nejoblíbenější mezi ostatními administračními nástroji pro PostgreSQL.

Aktualizujte balíčky serveru Linux

Aktualizujte tedy balíčky serveru Linux pomocí dnf příkaz.

# dnf update -y

Instalace Postgres Official

Chcete-li nainstalovat nejnovější verzi, musíme přidat oficiální úložiště yum PostgreSQL na náš server Linux.

[root@unixcop ~]# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 21:31:22 ago on Sun Aug  8 10:39:31 2021.
pgdg-redhat-repo-latest.noarch.rpm               18 kB/s |  12 kB     00:00    
Dependencies resolved.
================================================================================
 Package                 Architecture  Version        Repository           Size
================================================================================
Installing:
 pgdg-redhat-repo        noarch        42.0-19        @commandline         12 k

Transaction Summary
================================================================================
Install  1 Package

Total size: 12 k
Installed size: 12 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : pgdg-redhat-repo-42.0-19.noarch                        1/1 
  Verifying        : pgdg-redhat-repo-42.0-19.noarch                        1/1 

Installed:
  pgdg-redhat-repo-42.0-19.noarch                                               

Complete!
[root@unixcop ~]# 

Vypněte modul PostgreSQL ve standardním úložišti yum provedením následujícího příkazu.

# dnf -qy module disable postgresql

Instalace databázového serveru Postgres na CentOS 8

Nainstalujte tedy databázový server Postgres 13 (nejnovější v době psaní tohoto článku) na svůj Linuxový server pomocí dnf příkaz.

[root@unixcop ~]# dnf install -y postgresql13-server
Last metadata expiration check: 0:01:38 ago on Mon Aug  9 10:31:26 2021.
Dependencies resolved.
======================================================================================================================================================
 Package                                    Architecture                  Version                                 Repository                     Size
======================================================================================================================================================
Installing:
 postgresql13-server                        x86_64                        13.3-2PGDG.rhel8                        pgdg13                        5.5 M
Installing dependencies:
 libicu                                     x86_64                        60.3-2.el8_1                            baseos                        8.8 M
 postgresql13                               x86_64                        13.3-2PGDG.rhel8                        pgdg13                        1.5 M
 postgresql13-libs                          x86_64                        13.3-2PGDG.rhel8                        pgdg13                        413 k

Transaction Summary
======================================================================================================================================================
Install  4 Packages

Total download size: 16 M
Installed size: 63 M
Downloading Packages:
(1/4): postgresql13-libs-13.3-2PGDG.rhel8.x86_64.rpm                                                                   69 kB/s | 413 kB     00:06    
(2/4): postgresql13-13.3-2PGDG.rhel8.x86_64.rpm                                                                        92 kB/s | 1.5 MB     00:16    
(3/4): postgresql13-server-13.3-2PGDG.rhel8.x86_64.rpm                                                                158 kB/s | 5.5 MB     00:35    
(4/4): libicu-60.3-2.el8_1.x86_64.rpm                                                                                 190 kB/s | 8.8 MB     00:47    
------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                 345 kB/s |  16 MB     00:48     
warning: /var/cache/dnf/pgdg13-e81daebfc8b779ec/packages/postgresql13-13.3-2PGDG.rhel8.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
PostgreSQL 13 for RHEL/CentOS 8 - x86_64                                                                              1.6 MB/s | 1.7 kB     00:00    
Importing GPG key 0x442DF0F8:
 Userid     : "PostgreSQL RPM Building Project <[email protected]>"
 Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                              1/1 
  Installing       : postgresql13-libs-13.3-2PGDG.rhel8.x86_64                                                                                    1/4 
  Running scriptlet: postgresql13-libs-13.3-2PGDG.rhel8.x86_64                                                                                    1/4 
  Installing       : libicu-60.3-2.el8_1.x86_64                                                                                                   2/4 
  Running scriptlet: libicu-60.3-2.el8_1.x86_64                                                                                                   2/4 
  Installing       : postgresql13-13.3-2PGDG.rhel8.x86_64                                                                                         3/4 
  Running scriptlet: postgresql13-13.3-2PGDG.rhel8.x86_64                                                                                         3/4 
  Running scriptlet: postgresql13-server-13.3-2PGDG.rhel8.x86_64                                                                                  4/4 
  Installing       : postgresql13-server-13.3-2PGDG.rhel8.x86_64                                                                                  4/4 
  Running scriptlet: postgresql13-server-13.3-2PGDG.rhel8.x86_64                                                                                  4/4 
  Verifying        : libicu-60.3-2.el8_1.x86_64                                                                                                   1/4 
  Verifying        : postgresql13-13.3-2PGDG.rhel8.x86_64                                                                                         2/4 
  Verifying        : postgresql13-libs-13.3-2PGDG.rhel8.x86_64                                                                                    3/4 
  Verifying        : postgresql13-server-13.3-2PGDG.rhel8.x86_64                                                                                  4/4 

Installed:
  libicu-60.3-2.el8_1.x86_64                          postgresql13-13.3-2PGDG.rhel8.x86_64         postgresql13-libs-13.3-2PGDG.rhel8.x86_64        
  postgresql13-server-13.3-2PGDG.rhel8.x86_64        

Complete!
[root@unixcop ~]# 

Pro inicializaci databáze Postgres musíte jednou provést následující příkaz.

[root@unixcop ~]# /usr/pgsql-13/bin/postgresql-13-setup initdb
Initializing database ... OK

[root@unixcop ~]# 

Pomocí těchto příkazů také povolte, spusťte a zkontrolujte stav databáze Postgres.

[root@unixcop ~]# systemctl start postgresql-13
[root@unixcop ~]# systemctl enable postgresql-13
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql-13.service → /usr/lib/systemd/system/postgresql-13.service.
[root@unixcop ~]# systemctl status postgresql-13
● postgresql-13.service - PostgreSQL 13 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 08:21:20 EDT; 21s ago
     Docs: https://www.postgresql.org/docs/13/static/
 Main PID: 2178 (postmaster)
    Tasks: 8 (limit: 11426)
   Memory: 16.8M
   CGroup: /system.slice/postgresql-13.service
           ├─2178 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
           ├─2179 postgres: logger 
           ├─2181 postgres: checkpointer 
           ├─2182 postgres: background writer 
           ├─2183 postgres: walwriter 
           ├─2184 postgres: autovacuum launcher 
           ├─2185 postgres: stats collector 
           └─2186 postgres: logical replication launcher 

Aug 09 08:21:20 unixcop systemd[1]: Starting PostgreSQL 13 database server...
Aug 09 08:21:20 unixcop postmaster[2178]: 2021-08-09 08:21:20.237 EDT [2178] LOG:  redirecting log output to logging collector process
Aug 09 08:21:20 unixcop postmaster[2178]: 2021-08-09 08:21:20.237 EDT [2178] HINT:  Future log output will appear in directory "log".
Aug 09 08:21:20 unixcop systemd[1]: Started PostgreSQL 13 database server.
[root@unixcop ~]# systemctl is-enabled postgresql-13
enabled
[root@unixcop ~]# 

Zkontrolujte také verzi nainstalovaného PostgreSQL.

[root@unixcop ~]# psql -V
psql (PostgreSQL) 13.3
[root@unixcop ~]# 

Přepněte na postgres uživatele a připojte se k psql shell pro nastavení hesla administrátora.

[root@unixcop ~]# su - postgres
[postgres@unixcop ~]$ psql
psql (13.3)
Type "help" for help.

postgres=# ALTER USER postgres WITH PASSWORD 'unixcop';
ALTER ROLE
postgres=# \q
[postgres@unixcop ~]$ exit
logout
[root@unixcop ~]# 

Konfigurace síťového přístupu pro databázovou službu Postgres

Můžete si všimnout, že služba PostgreSQL zpočátku běží pouze na rozhraní localhost.

Musíte tedy upravit konfigurační soubor PostgreSQL v vim textový editor.

# vi /var/lib/pgsql/13/data/postgresql.conf

Vyhledejte v něm následující direktivu.

# listen_addresses = 'localhost'

A nahraďte ji následující direktivou.

listen_addresses = '*'

Vaše databázová služba Postgres je nyní nakonfigurována tak, aby naslouchala na všech síťových rozhraních.

Povolte síťovým klientům přístup ke službě PostgreSQL v pg_hba.conf soubor.

# echo "host all all 192.168.13.0/24 md5" >> /var/lib/pgsql/13/data/pg_hba.conf

Chcete-li použít změny, restartujte databázovou službu Postgres.

# systemctl restart postgresql-13.service

Služba Postgres nyní běží na všech síťových rozhraních.

Konfigurace brány Linux Firewall pro databázi Postgres

Službu Postgre povolíme pomocí příkazu firewall-cmd.

[root@unixcop ~]# firewall-cmd --permanent --add-service=postgresql
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]# 

Databázový server Postgres byl tedy nainstalován na server Linux.

Instalace pgAdmin Yum Repository na CentOS 8

pgAdmin je oblíbené webové rozhraní pro správu databází PostgreSQL databází.

Ačkoli pgAdmin je také poskytován v rámci oficiálních repozitářů yum PostgreSQL. Na našem serveru CentOS 8 to ale nefunguje.

Proto nainstalujeme nejnovější stabilní verzi pgAdmin z oficiálního úložiště yum pgAdmin.

Protože přidáme toto yum repo, musíte nejprve odstranit PostgreSQL yum repozitáře ze svého linuxového serveru.

# dnf remove -y pgdg-redhat-repo

Přidejte oficiální úložiště yum pgAdmin do svého operačního systému Linux pomocí příkazu:

[root@unixcop ~]#  dnf install -y https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-1-1.noarch.rpm
Last metadata expiration check: 1 day, 0:04:44 ago on Sun Aug  8 10:39:31 2021.
pgadmin4-redhat-repo-1-1.noarch.rpm                                                                                   5.6 kB/s | 6.6 kB     00:01    
Dependencies resolved.
======================================================================================================================================================
 Package                                      Architecture                   Version                       Repository                            Size
======================================================================================================================================================
Installing:
 pgadmin4-redhat-repo                         noarch                         1-1                           @commandline                         6.6 k

Transaction Summary
======================================================================================================================================================
Install  1 Package

Total size: 6.6 k
Installed size: 4.0 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                              1/1 
  Installing       : pgadmin4-redhat-repo-1-1.noarch                                                                                              1/1 
  Verifying        : pgadmin4-redhat-repo-1-1.noarch                                                                                              1/1 

Installed:
  pgadmin4-redhat-repo-1-1.noarch                                                                                                                     

Complete!
[root@unixcop ~]# 

Také pgAdmin vyžaduje některé softwarové balíčky, které nejsou dostupné ve standardních yum repozitářích.

Použijte příkaz dnf a nainstalujte EPEL yum repository.

# dnf install -y epel-release

Vytvořte mezipaměť pro nově nainstalovaná úložiště yum pomocí příkazu:

[root@unixcop ~]# dnf makecache
CentOS Linux 8 - AppStream                                                                                            2.6 kB/s | 4.3 kB     00:01    
CentOS Linux 8 - BaseOS                                                                                               5.4 kB/s | 3.9 kB     00:00    
CentOS Linux 8 - Extras                                                                                               2.8 kB/s | 1.5 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                 21 kB/s |  36 kB     00:01    
Extra Packages for Enterprise Linux 8 - x86_64                                                                         22 kB/s |  33 kB     00:01    
pgadmin4                                                                                                              704  B/s | 833  B     00:01    
pgadmin4                                                                                                              3.8 MB/s | 3.8 kB     00:00    
Importing GPG key 0x210976F2:
 Userid     : "Package Manager (Package Signing Key) <[email protected]>"
 Fingerprint: E869 7E2E EF76 C02D 3A63 3277 8881 B2A8 2109 76F2
 From       : /etc/pki/rpm-gpg/PGADMIN_PKG_KEY
Is this ok [y/N]: y
pgadmin4                                                                                                              117 kB/s | 441 kB     00:03    
Metadata cache created.

Instalace webového uživatelského rozhraní pgAdmin

Nyní můžete nainstalovat pgAdmin pomocí :

# dnf install -y pgadmin4

DŮLEŽITÁ POZNÁMKA:

Ke konfiguraci zásad SELinux vyžaduje instalační skript pgAdmin semanage příkaz, který je k dispozici v balíčcích policycoreutils-python-utils. Proto byste jej měli nainstalovat před spuštěním instalačního skriptu pgAdmin.

Můžete také navštívit tento odkaz, abyste tento problém správně vyřešili Jak opravit „příkaz semanage“ Nenalezena chyba v CentOS

# dnf install -y policycoreutils-python-utils

Software pgAdmin je dodáván s dobře napsaným konfiguračním skriptem pro konfiguraci webové služby pgAdmin. Jeho spuštěním vytvoříte uživatele admin a webový server Apache pro nasazení webové služby pgAdmin.

[root@unixcop ~]# /usr/pgadmin4/bin/setup-web.sh
Setting up pgAdmin 4 in web mode on a Redhat based platform...
Creating configuration database...
NOTE: Configuring authentication for SERVER mode.

Enter the email address and password to use for the initial pgAdmin user account:

Email address: [email protected]
Password: 
Retype password:
pgAdmin 4 - Application Initialisation
======================================

Creating storage and log directories...
Configuring SELinux...

The Apache web server is not running. We can enable and start the web server for you to finish pgAdmin 4 installation. Continue (y/n)? y
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Apache successfully enabled.
Apache successfully started.
You can now start using pgAdmin 4 in web mode at http://127.0.0.1/pgadmin4
[root@unixcop ~]# 

Spusťte, povolte a zkontrolujte stav služby httpd.

[root@unixcop ~]# systemctl start httpd
[root@unixcop ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@unixcop ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 08:48:49 EDT; 16s ago
     Docs: man:httpd.service(8)
 Main PID: 3881 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 241 (limit: 11426)
   Memory: 44.2M
   CGroup: /system.slice/httpd.service
           ├─3881 /usr/sbin/httpd -DFOREGROUND
           ├─3882 /usr/sbin/httpd -DFOREGROUND
           ├─3883 /usr/sbin/httpd -DFOREGROUND
           ├─3884 /usr/sbin/httpd -DFOREGROUND
           ├─3885 /usr/sbin/httpd -DFOREGROUND
           └─3886 /usr/sbin/httpd -DFOREGROUND

Aug 09 08:48:47 unixcop systemd[1]: Starting The Apache HTTP Server...
Aug 09 08:48:47 unixcop httpd[3881]: [Mon Aug 09 08:48:47.749981 2021] [so:warn] [pid 3881:tid 140142522952000] AH01574: module wsgi_module is alread>
Aug 09 08:48:49 unixcop httpd[3881]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:feca>
Aug 09 08:48:49 unixcop systemd[1]: Started The Apache HTTP Server.
Aug 09 08:48:52 unixcop httpd[3881]: Server configured, listening on: port 80
lines 1-21/21 (END)

Nakonfigurujte bránu firewall systému Linux tak, aby umožňovala příchozí provoz na webový server Apache

[root@unixcop ~]# firewall-cmd --permanent --add-service=http
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]# 

Otevřete adresu URL http://your_ip_address/pgadmin4/ ve webovém prohlížeči.

Přihlaste se do pgAdmin jako uživatel admin, kterého jsme vytvořili pomocí setup-web.sh skript.

Chcete-li přidat svůj databázový server PostgreSQL do inventáře pgAdmin, klikněte na „Přidat nový server“.

Zadejte název serveru a klikněte na „Připojení“ kartu.

V tomto dialogovém okně, které jste vytvořili, zadejte informace o připojení k databázi.

Poté klikněte na „Uložit“.

Náš databázový server Postgres byl přidán do pgAdmin. V levém postranním panelu můžete vidět strom vašeho databázového serveru.

Závěr

V tomto tutoriálu jste se naučili, jak nainstalovat PostgreSQL pomocí pgAdmin na server CentOS 8.


Cent OS
  1. Jak nainstalovat PostgreSQL na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Postgres 13 na Centos 8

  3. Jak nainstalovat Postgres 14 na Rocky Linux 8/Centos 8

  1. Jak nainstalovat CentOS 8 (se snímky obrazovky)

  2. Jak nainstalovat PostgreSQL server na RHEL 8 / CentOS 8

  3. Jak nainstalovat PostgreSQL 10 na CentOS 6 / RHEL 6

  1. Jak nainstalovat PostgreSQL na CentOS 7

  2. Jak nainstalovat PostgreSQL na CentOS 8

  3. Jak nainstalovat a používat Ruby on Rails s PostgreSQL na CentOS 7