TYPO3 mit PostgreSQL installieren und konfigurieren

TYPO3 mit PostgreSQL installieren und konfigurieren

This article machine-based automatically translated from English to the German language. As this article is not human translated, there may be chances of context, spelling and grammar mistakes. We recommend to read original article in English version.

Sind Sie auf der Suche nach einer Kurzanleitung für TYPO3 PostgreSQL? In diesem Artikel finden Sie die Installation und Konfiguration des PostgreSQL-Servers und die Einrichtung von TYPO3 CMS mit einer PostgreSQL-Datenbank.

Liebe TYPO3-Leser, wie Sie mein Ritual kennen, erinnern wir uns an diejenigen, die sehr hart daran arbeiten, mehrere Datenbanken in das TYPO3 CMS zu integrieren. Ich wollte diesen Blog ihnen widmen; #T3Kudos an alle, die zu diesem Projekt beigetragen haben.

Quick Intro to PostgreSQL

Schnelleinführung in PostgreSQL

<script type="text/javascript"
src="https://ssl.gstatic.com/trends_nrtr/2674_RC03/embed_loader.js"></script> <script
 type="text/javascript"> trends.embed.renderExploreWidget("TIMESERIES",
 {"comparisonItem":[{"keyword":"/m/05ynw","geo":"","time":"today
 5-y"},{"keyword":"MySQL","geo":"","time":"today 5-y"},{"keyword":"MariaDB","geo":"","time":"today 5-y"}],"category":0,"property":""},
{"exploreQuery":"date=today%205-y&q=%2Fm%2F05ynw,MySQL,MariaDB","guestPath":"https://t
rends.google.com:443/trends/embed/"}); </script>

 

 

Relationale Datenbanken sind das Rückgrat der Datenorganisation für ein breites Spektrum von Anwendungen. Sie ermöglichen alles, vom Internet-Shopping bis zum Raketenstart. PostgreSQL ist eine altehrwürdige und dennoch aktuelle Datenbank. PostgreSQL hält sich an die meisten SQL-Standards, unterstützt ACID-Transaktionen, Fremdschlüssel und Ansichten und wird immer noch aktiv weiterentwickelt.

TYPO3 + PostgreSQL

Was ist Doctrine DBAL (Database Abstraction Layer)?

Source

 

Die Daten in TYPO3 CMS werden in einem relationalen Datenbankmanagementsystem (RDBMS) gespeichert. Die Anbindung an verschiedene Datenbankmanagementsysteme wird über die Doctrine DBAL-Komponente ermöglicht. Die beliebteste Datenbank ist nach wie vor MySQL/MariaDB. Dank Doctrine sind jedoch auch weitere Datenbanken wie PostgreSQL und SQLServer verfügbar.

Wie funktioniert die technische Anbindung der TYPO3-Datenbank?

In TYPO3 werden Datenbankabfragen über eine Doctrine DBAL-basierte API durchgeführt. Der System-Extension-Core, der immer geladen und daher immer verfügbar ist, stellt die API zur Verfügung. Diese Low-Level-API ermöglicht es Autoren von Extensions, Abfrageoperationen direkt auf dem gewählten DBMS zu verwalten. Doctrine DBAL wurde mit TYPO3 CMS Version 8 eingeführt und ersetzte die traditionelle $GLOBALS['TYPO3 DB']-basierte API.

Übersetzt mit www.DeepL.com/Translator (kostenlose Version)

TYPO3 Doctrine DBAL und Doctrine ORM

Doctrine ist ein zweiteiliges Projekt, wobei Doctrine DBAL eine Low-Level-Datenbankabstraktion und eine Schnittstelle zur Erstellung von Abfragen an bestimmte Datenbank-Engines bietet und Doctrine ORM ein High-Level-Objekt-Relational-Mapping auf Doctrine DBAL aufbaut.

Die DBAL-Komponente wird ausschließlich durch den TYPO3 Core implementiert. Doctrine ORM wird nicht benötigt, ausgeführt oder verwendet.

Übersetzt mit www.DeepL.com/Translator (kostenlose Version)

Welche Datenbanken werden in TYPO3 CMS unterstützt?

Das ist das Schöne am funktionsreichen TYPO3 CMS; es unterstützt die folgenden Datenbanken im TYPO3-Kern :)

  • MySQL/MariaDB
  • Microsoft SQL Server
  • PostgreSQL
  • Oracle
  • Firebird

Welche PostgreSQL-Versionen werden von TYPO3 unterstützt?

Laut der offiziellen Dokumentation von TYPO3 CMS unterstützt es die PostgreSQL-Versionen 7.x und 8.x. Das sind die von der TYPO3-Community gut getesteten Versionen. Ich bin sicher, dass auch die anderen aktuellen Versionen gut funktionieren sollten - machen Sie einfach eine Testfahrt ;)

PostgreSQL-Server für TYPO3 installieren

Bevor wir uns die Konfiguration von PostgreSQL in TYPO3 ansehen, sollten wir es installieren.

Die nachfolgende Installation und Konfiguration von PostgreSQL wurde mit Debian 8 getestet, je nach

UNIX-Variante, müssen Sie möglicherweise Befehle herausfinden.

 

# sudo apt-get update
Reading package lists... Done.
# sudo apt-get install postgresql-9.4 postgresql-client-9.4

Überprüfen wir die PostgreSQL-Installation

Testen Sie Ihre PostgreSQL-Installation mit dem Befehl grep.

 

# ps -ef | grep postgre

postgres 32164     1  0 21:58 ?        00:00:00 /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/   postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
postgres 32166 32164  0 21:58 ?        00:00:00 postgres: checkpointer process
postgres 32167 32164  0 21:58 ?        00:00:00 postgres: writer process
postgres 32168 32164  0 21:58 ?        00:00:00 postgres: wal writer process
postgres 32169 32164  0 21:58 ?        00:00:00 postgres: autovacuum launcher process
postgres 32170 32164  0 21:58 ?        00:00:00 postgres: stats collector process

Login-Zugang zum PostgreSQL-Datenbank-Server

Wissen Sie, wie man sich in den PostgreSQL-Server einloggt? Er ist dem MySQL/MariaDB-Datenbankserver sehr ähnlich.

 

# su - postgres
Sie sollten nun als postgres eingeloggt sein. Um die PostgreSQL-Konsole zu starten, geben Sie psql ein:

# psql
psql (9.4.2)
Geben Sie "help" für Hilfe ein.

postgres=#

Wie fügt man eine neue Rolle in PostgreSQL hinzu?

Um zusätzliche Rollen zu erstellen, können wir den Befehl createuser verwenden. Beachten Sie, dass dieser Befehl unter dem Benutzer postgres und nicht in der PostgreSQL-Konsole ausgeführt werden muss:

 

createuser --interactive

TYPO3 PostgreSQL Datenbank erstellen

Sie können die entsprechende Datenbank erstellen, indem Sie diesen Befehl einfach als postgres-Benutzer aufrufen:

 

createdb test1

Verbinden mit PostgreSQL mit dem neuen Benutzer

Nehmen wir an, Sie haben ein Linux-Konto mit dem Namen test1, eine entsprechende PostgreSQL-Rolle test1 erstellt und die Datenbank test1 angelegt. So ändern Sie das Benutzerkonto in Linux in test1:

 

su - test1

 

Verbinden Sie sich dann mit der Datenbank test1 als PostgreSQL-Rolle test1, indem Sie den Befehl verwenden:

 

# psql

pgAdmin - PostgreSQL Datenbank Werkzeug

pgAdmin ist die beliebteste und funktionsreichste Open-Source-Administrations- und Entwicklungsplattform für PostgreSQL, die weltweit fortschrittlichste Open-Source-Datenbank. Erkunden Sie unter https://www.pgadmin.org/

Installation der TYPO3 PostgreSQL Datenbank

Wenn Sie bei der Installation von TYPO3 CMS den PostgreSQL-Server installiert haben, wählen Sie bei der Auswahl der Datenbank die Option "Manuell konfigurierte PostgreSQL-Verbindung".

Konfiguration der TYPO3 PostgreSQL Datenbank

Wie bei anderen zentralen Konfigurationsoptionen erfolgt die Konfiguration des Datenbank-Endpunkts und des Mappings in typo3conf/LocalConfiguration.php und endet in $GLOBALS['TYPO3_CONF_VARS'] nach dem Core-Bootstrap. Das spezifische Unter-Array ist $GLOBALS['TYPO3_CONF_VARS']['DB'].

Ein typisches, einfaches Beispiel, das nur die Standardverbindung mit einem einzigen Datenbankendpunkt verwendet:

 

// LocalConfiguration.php
// [...]
'DB' => [
   'Connections' => [
      'Default' => [
         'charset' => 'utf8',
         'dbname' => 'postgreDatabaseName',
         'driver' => 'postgres',
         'host' => 'postgreHost',
         'password' => 'postgrePassword',
         'port' => 5432,
         'user' => 'postgreUser',
      ],
   ],
],
// [...]

Verwendung mehrerer Datenbanken

Ein etwas komplexeres Beispiel mit zwei Verbindungen, bei dem die sys_log-Tabelle auf einen anderen Endpunkt abgebildet wird:

 

// LocalConfiguration.php
// [...]
'DB' => [
   'Connections' => [
      'Default' => [
         'charset' => 'utf8',
         'dbname' => 'default_dbname',
         'driver' => 'mysqli',
         'host' => 'default_host',
         'password' => '***',
         'port' => 3306,
         'user' => 'default_user',
      ],
      'Syslog' => [
         'charset' => 'utf8',
         'dbname' => 'postgreDatabaseName',
         'driver' => 'postgres',
         'host' => 'postgreHost',
         'password' => 'postgrePassword',
         'port' => 5432,
         'user' => 'postgreUser',
      ],
   ],
   'TableMapping' => [
      'sys_log' => 'Syslog'
   ]
],
// [...]

TYPO3 PostgreSQL @ DDEV Docker

Die TYPO3-Community liebt die DDEV TYPO3 Docker-Lösung für ihre lokale Entwicklungsumgebung.

Um TYPO3 PostgreSQL mit DDEV Docker zu testen, lesen Sie bitte die offizielle Schritt-für-Schritt-Anleitung unter 

https://github.com/drud/ddev-contrib/blob/master/docker-compose-services/postgres/README.md

Einpacken!

Vielen Dank für das Lesen meines Blogs. Ich hoffe, Sie haben die Grundlagen von TYPO3 PostgreSQL gelernt.

Die meisten TYPO3 Projekte werden auf Umgebungen wie LAMP mit MySQL/MariaDB Datenbank entwickelt. Aber viele versuchen, Projekte mit dem populären PostgreSQL zu erstellen.  Habt ihr Erfahrungen mit TYPO3 PostgreSQL? Was ist Ihre Erfahrung mit TYPO3 PostgreSQL? Natürlich können Sie mir bei Fragen oder Unterstützung gerne in das Kommentarfeld schreiben.

Ich wünsche Ihnen viel Spaß mit TYPO3 PostgreSQL!

Post Comment

Your email address will not be published. Required fields are marked *

×

Name ist erforderlich!

Geben Sie einen gültigen Namen ein

Gültige E-Mail ist erforderlich!

Gib eine gültige E-Mail Adresse ein

Kommentar ist erforderlich!

Google Captcha ist erforderlich!

Bemerkungen :

  • Monika Schumacher September 9, 2021 Beim 1:19 pm
    I had a problem using multiple databases with PostgreSQL, and the sys_log table mapping is definitely not a cakewalk for me, the example for the same was good, It got my personal project started. Thanks for sharing Sanjay.
  • Karl Krüger September 8, 2021 Beim 11:28 am
    Thanks for the article on this one, the process started as a bit of confusion for me at first but now I have got the hang of it. And all the examples were accurate and on-point along with the representations. It helped me complete my tutorial on PostgreSQL, thanks again.
  • Felix Werner September 7, 2021 Beim 12:28 pm
    Indeed Sanjay, MySQL is the most popular but Postgre is the most advanced. I have been using it for quite a while now and it gets the job done very well.

    Thanks for the article, very informative.

Every extension you might need for TYPO3 Upgrade

TYPO3v11 is on the rise. TYPO3 version 11 has undergone a lot of changes, improvements in its existence. There have been a lot of…

20+ Faszinierende TYPO3 Statistiken & Fakten (2021)

20+ Faszinierende TYPO3 Statistiken & Fakten (2021)

TYPO3 hat sich seit seiner Markteinführung im Jahr 1998 stark weiterentwickelt - so auch die TYPO3-Statistiken, die dieses…

Trending: Was ist TYPO3 Headless CMS?

Trending: Was ist TYPO3 Headless CMS?

Das Wort "TYPO3 Headless CMS" begann zu schwirren! Die Zukunft von CMS bewegt sich schnell weg vom traditionellen hin zum Headless…

Stay up to date with our recent TYPO3 Blogs, news, & updates