Ich wollte es einfach mit der Paketverwaltung installieren (yum, apt usw.), aber ich hatte die Möglichkeit, PostgreSQL unter CentOS 7.5 zum ersten Mal seit ungefähr 20 Jahren über den Quellcode zu installieren, also machte ich mir eine Notiz.
# 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"
Vorläufig konnte ich dies nach folgendem Verfahren tun.
Bereiten Sie ein dediziertes Konto für die Verwendung von PostgreSQL vor. Erstellen Sie den Kontonamen "postgres", indem Sie auch das Ausgangsverzeichnis angeben.
# useradd -m -d /home/postgres postgres
Ich habe auch ein Passwort festgelegt.
# passwd postgres
Ändern Sie das Passwort für Benutzer postgres.
Neues Kennwort:
Bitte geben Sie Ihr neues Passwort erneut ein:
passwd:Alle Authentifizierungstoken wurden erfolgreich erneuert.
Bereiten Sie die Tools vor, die zum Abrufen des Quellcodes und zum Kompilieren erforderlich sind. (Ich werde es auf jeden Fall hier mit lecker genießen!)
# yum -y groupinstall Development Tools
# yum -y install readline-devel
# yum -y install zlib-devel zlib wget vim
Hol es dir mit wget. Ich habe diesmal v12.4 verwendet, weil ich die Versionsliste auf der offiziellen Website überprüfen konnte. PostgreSQL File Browser
# wget https://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.gz
...
100%[==========================================================>] 27,070,070 564KB/s Zeit 72s
2020-09-30 17:46:23 (365 KB/s) - `postgresql-12.4.tar.gz'Speichern unter[27070070/27070070]
Da es mit Teer gehärtet ist, dehnt es sich sanft aus.
# tar xvfz postgresql-12.4.tar.gz
...
postgresql-12.4/configure.in
postgresql-12.4/INSTALL
Kompilieren des extrahierten Quellcodes. (Ich fühle mich nostalgisch, nachdem ich zum ersten Mal seit 20 Jahren gearbeitet habe)
# cd postgresql-12.4
# ./configure
# make
# make install
...
PostgreSQL installation complete.
Nach den Installationsarbeiten wird der Vorgang von PostgreSQL mit dem zuvor erstellten Konto "postgres" ausgeführt.
# exit
login:postgres
Password:
$
Da der Pfad zum installierten PostgreSQL nicht übergeben wird, bearbeiten Sie .bash_profile usw. Legen Sie es in Ihren Pfad.
$ vim .bash_profile
Bearbeiteter Inhalt ↓
# 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
Abmelden → Sie können sich erneut anmelden, dies war jedoch problematisch. Laden Sie es daher erneut mit der Quelle.
$ source .bash_profile
Überprüfen Sie, ob PostgreSQL-bezogene Befehle vorhanden sind.
$ which psql
/usr/local/pgsql/bin/psql
$ which initdb
/usr/local/pgsql/bin/initdb
Ich bin auf dem Weg!
Im Fall von PostgreSQL muss zuerst ein Datenbankcluster erstellt werden. Erstellen Sie ihn daher, während Sie das Verzeichnis angeben.
$ 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 insgesamt
drwx------.19 postgres postgres 4096 30. September 18:12 data
Geben Sie den erstellten Datenbankcluster an und starten Sie PostgreSQL.
$ pg_ctl start -D /home/postgres/data
...
done
server started
$
Da es gestartet ist, werde ich versuchen, die SQL-Anweisung zu treffen. Verbinde dich vorerst mit psql.
$ psql
psql (12.4)
Type "help" for help.
postgres=#
Es scheint, dass Sie SQL-Anweisungen eingeben können, sodass Sie sie als Testversion eingeben können.
postgres=# SELECT now();
now
-------------------------------
2020-09-30 18:20:14.031968+09
(1 row)
postgres=# \q
$
erledigt. Es ist eine Weile her> PostgreSQL
Um ehrlich zu sein, ist es einfach, sich mit einem Paketverwaltungstool vorzubereiten. Wenn Sie aus irgendeinem Grund aus dem Quellcode kompilieren müssen, müssen Sie arbeiten, während Sie sich das Handbuch ansehen. Lassen Sie uns also unser Bestes geben!