TYPO3 mit PostgreSQL installieren und konfigurieren

TYPO3 mit PostgreSQL installieren und konfigurieren

FYI. This blog is translated by machine. Please ignore any spelling and grammar errors; sorry for such inconvenience. We appreciate your understanding and support.

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.

<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.

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.

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)

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)

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

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 ;)

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

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

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=#

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

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

 

createdb test1

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 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/

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".

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',
      ],
   ],
],
// [...]

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'
   ]
],
// [...]

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

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 a Comment

×
Captcha Code Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren
  • user
    2023-08-14 um 2:15 am
  • user
    2023-08-14 um 2:15 am
  • user
    Monika Schumacher 2021-09-09 um 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.
  • user
    Karl Krüger 2021-09-08 um 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.
  • user
    Felix Werner 2021-09-07 um 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.