Articles of postgresql

GROUP BY e aggregano valori numerici sequenziali

Utilizzo di PostgreSQL 9.0. Diciamo che ho una tabella contenente i campi: company , profession e year . Voglio restituire un risultato che contiene aziende e professioni uniche, ma gli aggregati (in un array vanno bene) anni basati su una sequenza numerica: Tabella di esempio: +—————————–+ | company | profession | year | +———+————+——+ | […]

Prevenire le voci adiacenti / sovrapposte con EXCLUDE in PostgreSQL

Sto creando un database che memorizza intervalli di data / ora arbitrari in PostgreSQL 9.2.4. Voglio posizionare un vincolo su questo database che costringe gli intervalli di data / ora a non sovrapporsi e non adiacenti (poiché due intervalli adiacenti possono essere espressi come un unico intervallo continuo). Per fare questo, sto usando un vincolo […]

Rownum in postgresql

C’è un modo per simulare il rownum in postgresql?

Migrazione del database da Postgres a MySQL

Ho cambiato database da postgresql a mysql , ma non so come trasferire i dati da uno all’altro. Qualcuno conosce un comando tramite il quale posso copiare / migrare il mio database da postgresql a mysql ?

PostgreSQL: ERRORE: 42601: è richiesta una lista di definizione delle colonne per le funzioni che restituiscono “record”

(Disclaimer: newbie PostgreSQL.) OK, per quanto posso dire, la mia funzione ricorda correttamente i campioni che ho visto. Qualcuno può indovinarmi su come posso farlo funzionare? create or replace function get_user_by_username( username varchar(250), online boolean ) returns setof record as $$ declare result record; begin if online then update users set last_activity = current_timestamp where […]

Come restituire il risultato di un SELECT all’interno di una funzione in PostgreSQL?

Ho questa funzione in PostgreSQL, ma non so come restituire il risultato della query: CREATE OR REPLACE FUNCTION wordFrequency(maxTokens INTEGER) RETURNS SETOF RECORD AS $$ BEGIN SELECT text, count(*), 100 / maxTokens * count(*) FROM ( SELECT text FROM token WHERE chartype = ‘ALPHABETIC’ LIMIT maxTokens ) as tokens GROUP BY text ORDER BY count […]

Perché PostgreSQL esegue una scansione sequenziale su una colonna indicizzata?

Esempio molto semplice: una tabella, un indice, una query: CREATE TABLE book ( id bigserial NOT NULL, “year” integer, — other columns… ); CREATE INDEX book_year_idx ON book (year) EXPLAIN SELECT * FROM book b WHERE b.year > 2009 mi da: Seq Scan on book b (cost=0.00..25663.80 rows=105425 width=622) Filter: (year > 2009) Perché NON […]

Controlla se il valore esiste nell’array Postgres

Ho bisogno di un modo per verificare se esiste un valore in un determinato array. Finora mi è venuta in mente una cosa del genere select ‘{1,2,3}’::int[] @> (ARRAY[]::int[] || value_variable::int) ma continuo a pensare che dovrebbe esserci un modo più semplice per farlo, non riesco a vederlo. Edit: Ho appena realizzato che potevo farlo […]

Come eseguire operazioni di aggiornamento su colonne di tipo JSONB in ​​Postgres 9.4

Guardando attraverso la documentazione per il tipo di dati Postgres 9.4 JSONB, non è immediatamente ovvio per me come fare gli aggiornamenti sulle colonne JSONB. Documentazione per tipi e funzioni JSONB: http://www.postgresql.org/docs/9.4/static/functions-json.html http://www.postgresql.org/docs/9.4/static/datatype-json.html A titolo di esempio, ho questa struttura di base della tabella: CREATE TABLE test(id serial, data jsonb); L’inserimento è facile, come in: […]

Come cercare un valore specifico in tutte le tabelle (PostgreSQL)?

È ansible cercare ogni colonna di ogni tabella per un particolare valore in PostgreSQL? Una domanda simile è disponibile qui per Oracle.