1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Frage Postgres Features

Dieses Thema im Forum "PostgreSQL" wurde erstellt von drdimitri, 12 Februar 2018.

  1. drdimitri

    drdimitri Datenbank-Guru

    Hi,

    ich hab einige Fragen zu speziellen PG Features:
    - Ist es in der aktuellen Version noch so, dass das komplette Ergebnis im Speicher gecached wird, oder wird auf der Remote DB nachgelesen?
    - Gibt es Restriktionen bzw. Probleme, wenn man über dblink bytea Daten überträgt?
    - bytea ist beschrieben als binary string im Hexformat. D.h. die Datenmenge verdoppelt sich beim Import in die DB?
    - ist bytea das, was man in Oracle als BLOB bezeichnet, also beliebige Binärdaten mit (fast) beliebiger Größe?
    - Gibt es die Möglichkeit bei einem Ins/Upd einen fehlerhaften Satz wegzuloggen ohne das ganze Statement abbrechen zu lassen? Ich meine nicht ON DUPLICATE, sondern wenn z.B. eine RI Verletzung o.ä. auftritt.
    - Gibt es neben pg_cron auch einen nativen Scheduler?
    - Besteht die Möglichkeit Daten aus einer Tabelle zu entladen und dabei eine Bedingung mitzugeben, also quasi eine WHERE Klausel für pg_dump. Kann ich diesen Dump dann über einen foreign data wrapper wieder in ein SQL einbinden?

    Dim
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Du meinst bei einer Abfrage? Kommt drauf an, wie der Client das handelt. Das ist sein Problem, wie er das macht, nicht das der DB.

    Mir keine bekannt, ich hab allerdings mit dblink nicht vel Erfahrung

    Nein, BYTEA hat 2 verschiedene Ein/Ausgabeformate, HEX und Escape-Format. PostgreSQL: Documentation: 10: 8.4. Binary Data Types

    Vermutlich, ich bin kein Oracle-Experte

    Alles-oder-Nichts. Du bekommst eine Fehlermeldung mit der Information über den ersten gefunden Fehler. Du kannst aber mit Savepoints arbeiten. PostgreSQL: Documentation: 10: SAVEPOINT

    Nicht in PG.

    Du kannst JEDES Select als Basis für einen COPY-Befehl nehmen und damit die Daten nach außen blasen. Das kann dann wieder als Input für einen COPY-Befehl dienen, der die Daten einliest.
    PostgreSQL: Documentation: 10: COPY enthält Beispiele.

    Evtl. willst Du auch pg_logical verwenden, damit kannst Du eine logische Replikation zwischen 2 Datenbanken machen. Diese kannst Du auf einzelne Tabellen definieren und da auch Records filtern.
    PostgreSQL: Announcing The Release Of pglogical 2.0

    PG10 hat auch logical Replication, aber derzeit noch ohne Filter-Funktion.
     
  3. drdimitri

    drdimitri Datenbank-Guru

    In einem Forum hab ich folgendes gefunden:
    dblink is a very thin wrapper for libpq. From the querying database,
    the overhead is pretty light -- basically the query is fired and the
    results are interpreted from text into whatever the database has in
    the receiving result via the various typein functions. For all
    intents and purposes, this is pretty similar to sending in queries
    over the regular sql interface. One gotcha of course is that libpq
    buffers the entire result in memory
    which can be dangerous, so be
    advised.


    Ok COPY ist das Zauberwort, danke.

    Das hab ich mir auch schon angesehen, aber soweit ich gelesen hab, ist damit keine Multimaster Replikation möglich. Mit COPY ebenfalls nicht, aber das brauch ich auch für was anderes ;-)
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Ahhh, das bezog sich auf dblink.

    Falls Du Multi-Master suchst: BDR kann das, Bi-Directional Replication, daher das BDR. Es gibt die frei verfügbare 1er-Version, die aber nicht mehr groß weiterentwickelt wird. Die Entwicklung erfolgt in der 2er-Version (verfügbar nur für Support-Kunden) und intern in der 3er-Version. BDR ist bei vielen mittlerweile im Einsatz, insbesondere für Replikation über große Entfernungen (zwischen Kontinenten) mit hohen Latenzen. Es ist robust genug aufgebaut, damit klarzukommen.
     
  5. drdimitri

    drdimitri Datenbank-Guru

    Ok, danke.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden