Articles of postgresql

SERIAL personalizzato / autoincremento per gruppo di valori

Sto cercando di creare un sistema di blog di tipo e mi sono imbattuto in un piccolo problema. In poche parole, ci sono 3 colonne nella mia tabella degli article : id SERIAL, category VARCHAR FK, category_id INT id colonna id è ovviamente il PK e viene utilizzata come identificatore globale per tutti gli articoli. […]

Esegui una query incrociata dynamic

Ho implementato questa funzione nel mio database Postgres: http://www.cureffi.org/2013/03/19/automatically-creating-pivot-table-column-names-in-postgresql/ Ecco la funzione: create or replace function xtab (tablename varchar, rowc varchar, colc varchar, cellc varchar, celldatatype varchar) returns varchar language plpgsql as $$ declare dynsql1 varchar; dynsql2 varchar; columnlist varchar; begin — 1. retrieve list of column names. dynsql1 = ‘select string_agg(distinct ‘||colc||’||” ‘||celldatatype||”’,”,” order […]

PostgreSQL multi INSERT … RESTITUTIVO con più colonne

Sto creando un database con Postgres 9.3 come back-end, con 3 tabelle: table1 (user_id, username, name, surname, emp_date) table2 (pass_id, user_id, password) table3 (user_dt_id, user_id, adress, city, phone) Come si può vedere, table2 e table3 sono tabelle figlio di table1 . Posso estrarre user_id di una riga appena inserita in table1 (parent): INSERT INTO “table1” […]

Quali risorse esistono per l’ottimizzazione delle prestazioni del database?

Quali buone risorse esistono per comprendere l’ottimizzazione del database sui principali motori e far progredire le tue conoscenze in quell’area? L’idea di questa domanda è quella di raccogliere il carico capillare di risorse che invariabilmente esistono, in modo che le persone possano avere un negozio di conoscenze “one stop” delle buone risorse approvate dai colleghi. […]

informazioni incomplete da query su pg_views

Ho una vista nel mio database ( PostgreSQL ) e mi piacerebbe vedere il suo codice. Ho scritto questa domanda: select definition from pg_views where viewname=’x’ questo funziona la maggior parte del tempo, tuttavia in alcune delle viste quando il codice di select è lungo ottengo ad un certo punto (…) per esempio questo è […]

Ottieni la sum distinta di una colonna della tabella unita

Ho un problema qui e spero che ci sia una soluzione facile. Cercherò di renderlo il più semplice ansible: Un biglietto appartiene a un partecipante Esempio: select * from tickets JOIN attendees ON attendee.id = tickets.attendee_id Un partecipante ha una colonna decimale chiamata “entrate” Detto questo, ho bisogno di eseguire una query che restituirà una […]

Numeri seriali per gruppo di righe per chiave composta

Sto cercando di mantenere una tabella cronologica degli indirizzi: CREATE TABLE address_history ( person_id int, sequence int, timestamp datetime default current_timestamp, address text, original_address text, previous_address text, PRIMARY KEY(person_id, sequence), FOREIGN KEY(person_id) REFERENCES people.id ); Mi chiedo se esiste un modo semplice per numerare automaticamente / vincolare la sequence in address_history per contare automaticamente da […]

Postgres analogo a CROSS APPLY in SQL Server

Devo eseguire la migrazione delle query SQL scritte per MS SQL Server 2005 a Postgres 9.1. Qual è il modo migliore per sostituire CROSS APPLY in questa query? SELECT * FROM V_CitizenVersions CROSS APPLY dbo.GetCitizenRecModified(Citizen, LastName, FirstName, MiddleName, BirthYear, BirthMonth, BirthDay, ….. ) — lots of params GetCitizenRecModified() funzione GetCitizenRecModified() è una funzione con valori […]

Ottimizza la query con OFFSET su una tabella di grandi dimensioni

Ho un tavolo create table big_table ( id serial primary key, — other columns here vote int ); Questa tabella è molto grande, circa 70 milioni di righe, ho bisogno di interrogare: SELECT * FROM big_table ORDER BY vote [ASC|DESC], id [ASC|DESC] OFFSET x LIMIT n — I need this for pagination Come forse saprai, […]

Come creare una funzione temporanea in PostgreSQL?

Devo eseguire un ciclo nel database. Questo è solo un requisito una tantum. Dopo aver eseguito la funzione, sto abbandonando la funzione ora. C’è un buon approccio per la creazione di funzioni temporanee / usa e getta?