Articles of postgresql

Geteilter Treffer-Cache in postgreSQL

Ich experimentiere mit dem EXPLAIN-Befehl und versuche herauszufinden, was der shared hit ist. Seq Scan on foo (cost=0.00..18334.00 rows=1000000 width=37) (actual time=0.030..90.500 rows=1000000 loops=1) Buffers: shared hit=512 read=7822 Total runtime: 116.080 ms Ich habe bemerkt, dass je mehr geteilte Trefferzahlen wir haben, desto schneller wird eine Anfrage ausgeführt. Aber was ist das? Soweit ich weiß, […]

SQL-Abfrage zum Gruppieren nach Altersbereich vom Erstellungsdatum

Ich möchte Statistiken mit SQL-Abfrage erhalten. Mein Tisch ist so: ID MATERIAL CREATEDATE DEPARTMENT 1 M1 10.10.1980 D1 2 M2 11.02.1970 D2 2 M3 18.04.1971 D3 ………………… ………………… ………………… Wie kann ich eine Reihe von data zählen wie folgt DEPARTMENT AGE<10 10<AGE<20 20<AGE D1 24 123 324 D2 24 123 324

Kommentare aus der pg_dump-Ausgabe entfernen

Wenn ein PostgreSQL pg_dump fertig ist, fügt er wie folgt einige Kommentare für jedes Element ein. — — Name: my_table; Type: TABLE; Schema: account; Owner: user; Tablespace: — CREATE TABLE my_table( id integer ); — — Name: my_seq; Type: SEQUENCE; Schema: account; Owner: user — CREATE SEQUENCE my_seq START WITH 1 INCREMENT BY 1 NO […]

SQL – min () erhält den niedrigsten Wert, max () den höchsten, was ist, wenn ich den 2. (oder 5. oder n-ten) niedrigsten Wert haben möchte?

Das Problem, das ich versuche zu lösen, ist, dass ich einen Tisch wie diesen habe: a und b verweisen auf eine andere Tabelle. Abstand ist die Entfernung zwischen den Punkten. | id | a_id | b_id | distance | delete | | 1 | 1 | 1 | 1 | 0 | | 2 | […]

Postgresql-function gibt Composite zurück – Wie kann ich auf zusammengesetzte Werte als separate Spalten zugreifen?

Ich habe eine Postgresql-function, die einen zusammengesetzten Typ zurückgibt, der als (Standort TEXT, ID INT) definiert ist. Wenn ich "SELECT myfunc ()" ausfühle, ist Meine Ausgabe eine einzelne Spalte vom Typ text, formatiert als: ("locationdata", myid) Das ist ziemlich schlimm. Gibt es eine Möglichkeit, meinen Verbund so auszuwählen, dass ich zwei Spalten zurückbekomme – eine […]

Schlechte DB-performance bei Verwendung von ORDER BY

Ich arbeite mit einem gemeinnützigen Verein, der das Solarpotenzial in den USA ausbildet. Unnötig zu sagen, wir haben eine lächerlich große PostgreSQL 9-database. Das Ausführen einer Abfrage wie der unten gezeigten ist schnell, bis die zeilenweise order by unkommentiert ist. In diesem Fall dauert die Ausführung derselben Abfrage für immer (185 ms ohne sorting im […]

Verfolgen externer fileen mit SQL-database und Löschen einer externen file beim Löschen des datasatzes dafür

Ich habe keine Ahnung, ob ich das überhaupt richtig mache oder etwas völlig Dummes mache. Ich habe ein filesystem, das eine Reihe von imagedateien enthält. Dies sind große Kartenbilder variabler Größe. Ich verwende meine database für räumliche Abfragen. Im Grunde genommen möchte ich nur die Informationen eines imagees (Name, Verzeichnis und räumliche Informationen) zur database […]

Unterschiedliche Anzahl der betroffenen Zeilen bei Auswahl oder Aktualisierung mit den gleichen Parametern – PostgreSQL

Ich habe zwei SQL-statementen mit der gleichen Join und Where-Klausel, aber ich habe das Problem, dass die Select-statement mir eine andere Anzahl von Zeilen (in meinem Fall 42) als die Update-statement ändert (in meinem Fall 80, das sind alle Zeilen) des Tisches). Hier ist der erste (ich benutze dies um zu überprüfen wie viele Zeilen […]

Ist eine Abfrage mit Schnittpunkt äquivalent zu denen "wo a und b"?

Ich habe eine DB mit postgresql und ich schrieb zwei einfache Abfragen select page from title where word = 'france' and part = 'headline'; und select page from title where word = 'france' intersect select page from title where part = 'headline'; Ich denke, sie sollten das gleiche Ergebnis zurückgeben, aber eigentlich ist es anders. […]

Kann man in OUTER eine Teilmenge der Zeilen der linken Tabelle in Postgres effizient VERBINDEN?

Sagen wir, ich habe folgende Tabellen: table_1 table_2 id_a name id_a id_b 1 c 1 1 2 a 1 2 3 b 2 1 2 2 Betrachten Sie nun den folgenden LEFT OUTER JOIN: SELECT * FROM table_1 LEFT OUTER JOIN table_2 USING (id_a) id_a name id_b 1 c 1 1 c 2 2 a […]