Q su pgsql

voti
0

Sono un novizio di PGSQL. Ho pochi questionss su di esso:

1) So che è possibile accedere colonne <schema>.<table_name>, ma quando provo a colonne di accesso, come <db_name>.<schema>.<table_name>è gettare errore come

Cross-database references are not implemented

Come faccio a implementarlo?

2) Abbiamo 10+ tavoli e 6 hanno 2000+ righe. E 'bene per mantenere tutti loro in un unico database? O devo creare DBS per mantenere la loro?

3) Dal domande tabelle di cui sopra che hanno più di 2000 + righe, per un particolare processo ho bisogno di un paio di righe di dati. Ho creato viste per ottenere le righe. Per esempio: una tabella contenente i dettagli dei dipendenti, si dividono in 3 tipi; direttore, architetto e ingegnere. Cosa molto evidente questa tabella non ricevendo ogni ogni processo ... processo utilizzare per leggere i dati da esso ... Penso che ci siano due modi per ottenere i dati SELECT * FROM emp WHERE type='manager', o posso creare viste per il responsabile, l'architetto n ingegnere e ottenere i datiSELECT * FROM view_manager

Potete suggerire un modo migliore per fare questo?

4) Evitare di vista richiedono anche spazio di archiviazione, come le tabelle fanno?

Grazie in anticipo.

È pubblicato 26/09/2008 alle 05:09
fonte dall'utente
In altre lingue...                            


3 risposte

voti
0

1: Una soluzione è quella di aprire una connessione al altro database, e (se si utilizza psql (1)), set che come connessione corrente. Tuttavia, questo funziona solo se non si tenta di partecipare a tavoli in entrambi i database.

Risposto il 26/09/2008 a 05:20
fonte dall'utente

voti
0

1) Ciò significa che non è una caratteristica Postgres supporta. Non conosco alcun modo per creare una query che viene eseguito su più di un database.

2) Questo va bene per un database. basi di dati singoli può contenere miliardi di righe.

3) Non preoccupatevi la creazione di viste, le query sono abbastanza semplici in ogni caso.

4) Vista non richiedono spazio nel database tranne la loro definizione di query.

Risposto il 01/10/2008 a 04:19
fonte dall'utente

voti
1

  1. Database Croce esiste in PostgreSQL ormai da anni. È necessario anteporre il nome del database per il nome del database (e, naturalmente, hanno il diritto di interrogare su di esso). Tu verrai con qualcosa di simile:

    SELEZIONA alias_1.col1, alias_2.col3 DA Table_1 come alias_1, database_b.table_2 come alias_2 DOVE ...

    Se il database è su un altro esempio, allora avrete bisogno di utilizzare la contrib dblink.

  2. Questa domanda doe non rende sens. Si prega di raffinare.
  3. In generale, la vista è l'uso per semplificare la scrittura di altre query che li riutilizzano. Nel tuo caso, come lei, forse che proceudre immagazzinata sarebbe meglio adatta alle vostre esigenze.
  4. No, si aspettano la definizione della vista.
Risposto il 01/10/2008 a 04:25
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more