Articles of postgresql

Wie verwendet man die IN-Klausel mit mehreren Spalten für dieselben data in postgresql?

Ich habe eine Abfrage wie folgt: SELECT c1 from t WHERE c2 IN list1 AND c3 IN list1; Ich möchte diese Abfrage kombinieren, um etwas wie folgt zu erhalten: SELECT c1 from t WHERE c2 AND c3 IN list1;

Der beste path zum "Sichtbarmachen"

(PostreSQL 8.2, läuft unter WindowsXP) Ich habe diese Komplexe Abfragen, die jeweils mehrere Sekunden dauern. Sie sind eigentlich keine "viewen", können aber so behandelt werden. Ich entschied mich, die Ergebnissätze von diesen "viewen" in Tabellen zu behalten, die ich "Hilfs-" Hilfstabellen nenne. Ich kann garantieren, dass es nach der Berechnung von "Aux" -Tabellen keine dataänderung […]

Postgres-Gruppe nach Aggregatfunktion

Ich habe eine Nachrichtentabelle, die so aussieht: +————+————-+———-+ | sender_id | created_at | message | +————+————-+———-+ | 1 | 2010-06-14 | the msg | | 1 | 2010-06-15 | the msg | | 2 | 2010-06-16 | the msg | | 3 | 2010-06-14 | the msg | +————+————-+———-| Ich möchte die jeweils letzte Nachricht […]

Wie kann ich die performance der Durchschnittsmethode in SQL verbessern?

Ich habe einige performancesprobleme, bei denen eine SQL-Abfrage, die den Durchschnitt einer Spalte berechnet, mit zunehmender Anzahl der datasätze immer langsamer wird. Gibt es einen Indextyp, den ich der Spalte hinzufügen kann, um schnellere Durchschnittsberechnungen zu ermöglichen? Die fragliche database ist PostgreSQL und ich bin mir bewusst, dass ein bestimmter Indextyp möglicherweise nicht verfügbar ist, […]

Wie verwendet man Konstanten in SQL CREATE TABLE?

Ich habe 3 SQL-Tabellen, die wie folgt definiert sind: CREATE TABLE organs( abbreviation VARCHAR(16), — … other stuff ); CREATE TABLE blocks( abbreviation VARCHAR(16), — … other stuff ); CREATE TABLE slides( title VARCHAR(16), — … other stuff ); Die drei Felder verwenden VARCHAR (16), weil sie verwandt sind und die gleiche Länge haben. Gibt […]

Ist es in Postgres möglich, eine Konstante in Kombination mit dem Ergebnis von SELECT einzufügen?

Angenommen, ich habe eine Tabelle TRADES wie folgt DATUM, PREIS, … Ich möchte eine Tabelle TRADING_DAYS wie folgt erstellen MARKT, DATUM Mit Beispieldaten wie folgt NYSE, 2011-03-03 NYSE, 2011-03-04 NYSE, 2011-03-05 Ist es möglich, eine Abfrage zu schreiben, die DATE aus TRADES extrahiert, mit der Konstante 'NYSE' kombiniert und in TRADING_DAYS einfügt?

finde jedes n-te date in einem fortlaufenden datastrom

Ich möchte jeden vierten Tag in einem fortlaufenden datastrom finden / markieren, der für jeden Benutzer in einem bestimmten datesbereich in meine Tabelle eingefügt wurde CREATE TABLE mytable ( id INTEGER, myuser INTEGER, day DATE NOT NULL, PRIMARY KEY (id) ); das Problem ist, dass nur 3 zusammenhängende Tage pro Benutzer gültig sind, danach muss […]

Hinzufügen von Zeilen zur SQL-Abfrage für jedes Element in der WHERE-Sequenz

Ich habe eine SQL-Abfrage wie die folgende: SELECT store_id, SUM(quantity_sold) AS count FROM sales_table WHERE store_id IN ('Store1', 'Store2', 'Store3') GROUP BY store_id; Dies gibt eine Zeile für jeden memory zurück, der Zeilen in sales_table , gibt jedoch keine Zeile für diejenigen zurück, die keine Zeilen haben. Was ich will ist eine Zeile pro Geschäft, […]

Schnelle ungefähre Zählung in Postgres

Ich frage meine database (Postgres 8.4) mit etwas wie dem folgenden: SELECT COUNT(*) FROM table WHERE indexed_varchar LIKE 'bar%'; Die Komplexität davon ist O (N), weil Postgres jede Zeile zählen muss. Postgres 9.2 verfügt über Nur-Index-Scans, aber Upgrades sind leider keine Option. Eine genaue Anzahl von Zeilen zu erhalten, erscheint jedoch als Overkill, weil ich […]

Wie man mehrere Trigger in einer PostgreSQL 9.1 DB löscht

Ich versuche, mehrere Trigger zu entfernen, bekomme aber einen SQL-Fehler: PG::Error: ERROR: syntax error at or near ";" LINE 1: DROP TRIGGER rr_admin_reports; Hier ist der SQL, den ich in Rails ausführe: sql = <<-SQL DROP TRIGGER rr_admin_reports; DROP TRIGGER rr_apps; DROP TRIGGER rr_attachments; SQL Gibt es eine Möglichkeit, eine lange list von Triggern einfach […]