Wenn wir im einfachsten Fall eine neue Zeile in eine Tabelle einfügen (und die Transaktion festschreibt), ist sie für alle nachfolgenden Transaktionen sichtbar. Siehe xmax0 in diesem Beispiel sein: CREATE TABLE vis ( id serial, is_active boolean ); INSERT INTO vis (is_active) VALUES (FALSE); SELECT ctid, xmin, xmax, * FROM …
Ich habe 3 Tische: Menschen Post Likes Wenn ich das ER-Modell entwerfe, hat es eine zyklische Abhängigkeit: 1: N. Leute -------- <Post 1: N. Beitrag ---------- <Gefällt mir 1: N. Leute -------- <Mag Die Logik lautet: 1 Personen können viele Beiträge haben. 1 Beitrag hat viele Likes. 1 Person kann …
Ich muss die Aktivität der Benutzer in unseren Datenbanken überwachen. Ich habe folgende Parameter eingestellt in postgresql.conf: log_min_duration_statement = 0 log_connections = on log_disconnections = on log_line_prefix = '%t %a %d %h %u |' Mir ist jedoch klar, dass die meisten Protokolldateien mit vom postgresBenutzer ausgeführten Anweisungen gefüllt sind , …
Die Angelegenheit Wir haben eine Anfrage wie SELECT COUNT(1) FROM article JOIN reservation ON a_id = r_article_id WHERE r_last_modified < now() - '8 weeks'::interval AND r_group_id = 1 AND r_status = 'OPEN'; Da es häufig zu einer Zeitüberschreitung (nach 10 Minuten) kommt, habe ich mich entschlossen, das Problem zu untersuchen. …
Testdaten initialisieren: CREATE EXTENSION IF NOT EXISTS pgcrypto; CREATE TABLE docs (data JSONB NOT NULL DEFAULT '{}'); -- generate 200k documents, ~half with type: "type1" and another half with type: "type2", unique incremented index and random uuid per each row INSERT INTO docs (data) SELECT json_build_object('id', gen_random_uuid(), 'type', (CASE WHEN …
Wann werden Zugriffsrechte von \ l aufgelistet und wann nicht? Die von \ l aufgelisteten Zugriffsrechte können sich nach einer Erteilung ändern und widerrufen: $ createuser -EP my_readonly $ psql development development=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------------------------+----------+----------+-------------+-------------+----------------------- development …
Ich habe dieses Buch gelesen, in dem das steht Die Datenbank geht davon aus, dass Indexed_Col IS NOT NULL einen zu großen Bereich abdeckt, um nützlich zu sein, sodass die Datenbank unter dieser Bedingung nicht zu einem Index fährt. Ich erkenne, dass das Buch mehr als 10 Jahre alt ist, …
Ich habe einige schwer zu berechnende materialisierte Ansichten, die ich mithilfe der tatsächlich gespeicherten Daten und nicht durch Neuberechnung sichern und wiederherstellen möchte. Ist es in PostgreSQL 9.4 möglich? (Die Alternative besteht darin, tatsächliche Tabellen zu erstellen, diese sind jedoch schwieriger zu "aktualisieren".)
Meine Datenbankanwendung führt viele verschiedene Abfragen aus. Ich habe log_min_duration_statementauf 1000 gesetzt . Aber dort protokollierte Abfragen sind nicht immer langsam, meistens dauern sie nur ein paar ms. Ist es möglich, eine Statistik aller Abfragen zu erhalten und wie oft haben sie länger als 1000 ms gedauert?
Laut Craig Ringer : Während es normalerweise eine gute Idee ist, einen Index für Ihre referenzseitigen Fremdschlüsselspalten zu erstellen (oder einzuschließen), ist dies nicht erforderlich. Jeder Index , den Sie hinzufügen verlangsamt Operationen leicht nach unten DML, so dass Sie auf Kosten der Leistung auf jeder zahlen INSERT, UPDATEoder DELETE. …
Die Ausführung von Volltextabfragen für diese Datenbank (Speichern von RT- Tickets ( Request Tracker )) scheint sehr lange zu dauern. Die Anhangstabelle (die die Volltextdaten enthält) umfasst ca. 15 GB. Das Datenbankschema lautet wie folgt: Es sind ungefähr 2 Millionen Zeilen: rt4 = # \ d + Anhänge Tabelle "public.attachments" …
Ich habe einen nicht perkenden Spieledämon in Perl geschrieben , der Acync-Abfragen verwendet, um Spielerstatistiken in eine PostgreSQL 9.3-Datenbank zu schreiben. Wenn ich jedoch etwas aus der Datenbank lesen muss (z. B. wenn ein Spieler gesperrt ist oder wenn der Spieler einen VIP-Status hat), verwende ich synchrone Abfragen. Dadurch wird …
Ich verwende den folgenden rekursiven CTE als minimales Beispiel, aber im Allgemeinen muss der Optimierer standardmäßige "erratene" Kardinalitäten für rekursive CTEs verwenden: with recursive w(n) as ( select 1 union all select n+1 from w where n<5 ) select * from w; /* n --- 1 2 3 4 5 …
Ich habe versucht, ein Nagios-Skript zum Überwachen der Anzahl der Datenbankverbindungen in einer Postgres-Datenbank zu verwenden, und bin auf dieses Problem gestoßen: Diese werden als derzeit offene Verbindungen gezählt und alle 5 Minuten gemessen. SELECT sum(numbackends) FROM pg_stat_database; Dennoch scheint dies eine große Anzahl von kurzlebigen Verbindungen zu übersehen, so …
Ich versuche eine Abfrage von PHP vorzubereiten wie: pg_prepare($con, "prep", "select * from test where tid in ($1)"); und dann ausführen mit: $strpar = "3,4,6,8,10"; pg_execute($con, "prep", array($strpars)); Das Problem ist, dass ich keine Reihe von Werten übergeben kann, die erstellt wurden, da prep eine feste Anzahl von Parametern erwartet. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.