[LINUX] Installez PostgreSQL à partir du code source sur CentOS

Contexte

Je voulais l'installer facilement avec la gestion des paquets (yum, apt, etc.), mais j'ai eu l'opportunité d'installer PostgreSQL sur CentOS 7.5 pour la première fois depuis environ 20 ans à partir du code source, alors prenez note.

environnement

# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

procédure

Pour le moment, j'ai pu le faire par la procédure suivante.

Préparation de compte

Préparez un compte dédié pour utiliser PostgreSQL. Créez le nom de compte "postgres" en spécifiant également le répertoire personnel.

# useradd -m -d /home/postgres postgres

J'ai également défini un mot de passe.

# passwd postgres
Modifiez le mot de passe de l'utilisateur postgres.
nouveau mot de passe:
Veuillez saisir à nouveau votre nouveau mot de passe:
passwd:Tous les jetons d'authentification ont été renouvelés avec succès.

Préparation des outils nécessaires

Préparez les outils nécessaires pour obtenir le code source et compilez-le. (Je vais certainement en profiter ici avec miam!)

# yum -y groupinstall Development Tools
# yum -y install readline-devel
# yum -y install zlib-devel zlib wget vim

Obtenir le code source de PostgreSQL

Obtenez-le avec wget. J'ai utilisé la v12.4 cette fois car j'ai pu consulter la liste des versions sur le site officiel. PostgreSQL File Browser

# wget https://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.gz
...
100%[==========================================================>] 27,070,070   564KB/s temps 72s
2020-09-30 17:46:23 (365 KB/s) - `postgresql-12.4.tar.gz'Enregistrer dans[27070070/27070070]

Extraction de code source

Puisqu'il est durci avec du goudron, il se dilate doucement.

# tar xvfz postgresql-12.4.tar.gz
...
postgresql-12.4/configure.in
postgresql-12.4/INSTALL

Travail de compilation

Compilation du code source extrait. (Je me sens nostalgique après avoir travaillé pour la première fois en 20 ans)

# cd postgresql-12.4
# ./configure
# make
# make install
...
PostgreSQL installation complete.

Changer de compte

Après le travail d'installation, le fonctionnement de PostgreSQL est effectué avec le compte "postgres" créé précédemment.

# exit
login:postgres
Password:
$ 

Définir les variables d'environnement

Puisque le PATH vers le PostgreSQL installé ne passe pas, éditez .bash_profile etc. Mettez-le dans votre PATH.

$ vim .bash_profile

Contenu édité ↓

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

Déconnexion → Vous pouvez vous reconnecter, mais c'était gênant, alors rechargez-le avec la source.

$ source .bash_profile

Vérifiez s'il existe des commandes liées à PostgreSQL.

$ which psql
/usr/local/pgsql/bin/psql

$ which initdb
/usr/local/pgsql/bin/initdb

Je suis sur le CHEMIN!

Essayez de créer un cluster de base de données.

Dans le cas de PostgreSQL, il est nécessaire de créer d'abord un cluster de base de données, donc créez-le en spécifiant le répertoire.

$ initdb -D /home/postgres/data --no-locale
...
Success. You can now start the database server using:
    pg_ctl -D /home/postgres/data -l logfile start

$ ls -l /home/postgres
4 au total
drwx------.19 postgres postgres 4096 30 septembre 18:12 data

Essayez de démarrer un cluster de base de données.

Spécifiez le cluster de base de données créé et démarrez PostgreSQL.

$ pg_ctl start -D /home/postgres/data
...
 done
server started
$ 

Connectez-vous à la base de données avec psql et appuyez sur l'instruction SQL!

Depuis qu'il a commencé, j'essaierai d'appuyer sur l'instruction SQL. Connectez-vous avec psql pour le moment.

$ psql
psql (12.4)
Type "help" for help.
postgres=#

Il semble que vous puissiez saisir des instructions SQL, vous pouvez donc les saisir à titre d'essai.

postgres=# SELECT now();
              now
-------------------------------
 2020-09-30 18:20:14.031968+09
(1 row)
postgres=# \q
$  

terminé. Ça fait un moment> PostgreSQL

Résumé

Pour être honnête, il est facile de se préparer avec un outil de gestion de paquets. Si vous avez besoin de compiler à partir du code source pour une raison quelconque, vous devez travailler tout en regardant le manuel, alors faisons de notre mieux!

Chapitre 16 Installer à partir du code source document psql

Recommended Posts

Installez PostgreSQL à partir du code source sur CentOS
Installer ansible à partir du code source
Installez Faiss sur CentOS 7
Construire PostgreSQL à partir des sources
Installer Python à partir de la source
Installez Python3.4 sur CentOS 6.6
Installez Apache 2.4.41 depuis la source
Installez mecab-python sur CentOS
Installez Python 2.7.3 sur CentOS 5.4
Installez awscli sur centos7
Installer Chainer sur CentOS 6.7
Installez la série ImageMagick-6.2.x sur CentOS7.7
Installez Python 3.8 sur CentOS 7 (SCL)
wsl Installer PostgreSQL sur Ubuntu 18.04
Installez Chrome sur la série CentOS 7
Installez Python 3.8 sur CentOS 8 (AppStream)
Installation d'Apache Maven (à partir des sources)
Étapes pour installer MySQL 8.0 sur CentOS 8.1
raspberry pi 4 centos7 installer sur docker
Installez Python à partir des sources avec Ansible
Étapes pour installer VirtualBox sur CentOS
Installez java (Oracle JDK14) sur CentOS7
Comment installer PyPy sur CentOS
Comment installer TensorFlow sur CentOS 7
Installez pip sur CentOS7. Aussi iPython.
Installez VirtualBox sur CentOS 7 sur VirtualBox (mac + vagrant)
Installer Python sur CentOS à l'aide de Pyenv
Compilez et installez Git à partir des sources.
Comment installer Maven sur CentOS
Note d'étude 9_Install Jenkins sur CentOS7
Installez Python sur CentOS en utilisant pyenv
Activez la commande sar sur CentOS (installez sysstat)
Connexion de python à MySQL sur CentOS 6.4
Installez Pleasant sur Ubuntu 20.04 (version .NetCore3.1 / PostgreSQL)
Flux du code source à la création du format d'exécution
Comment installer Apache (httpd) sur CentOS7
Comment installer Eclipse GlassFish 5.1.0 sur CentOS7
Comment installer Apache (httpd) sur CentOS8
Installez pyenv et rbenv à l'échelle du système sur CentOS
Installez la dernière version d'Apache httpd 2.4 à partir des sources sur Cent OS 8
Installez le client openstack à partir de pip pour ne pas obtenir d'erreur sur CentOS7
Parler à partir du code sur mac (eSpeak, OpenJTalk)
[Ansible] Installer dnf sur Centos7 avec l'interpréteur Python3
CentOS8 --Installer --Django
Installer depuis conda-forge
Démarrez CentOS 8 à partir de Windows 10 avec Wake On LAN
Installez vim7.3 (+ python2.4) depuis la source (compatible avec Gundo.vim)
[Échec] Installer le clone de débordement de pile Askbot sur CentOS 6.4
CentOS8 --Installer --Python3
[Python] Lecture du code source Django Vue à partir de zéro ①
Installer Grub sur une mémoire USB (UEFI) ~ Démarrer Linux à partir de grub sur une mémoire USB ~
Comment installer Git GUI et Gitk sur CentOS
Installer mecab sur Marvericks
Installez Tensorflow sur Mac
Installer python sur WSL
Installer pip sur Mavericks
Installez Python sur Pidora.
Installez mongodb sur termux
Installer docker sur Fedora31