GNU/Linux >> Linux Esercitazione >  >> Linux

Puoi spiegare l'esportazione e quindi l'importazione di PostgreSQL utilizzando phpPgAdmin? (E cosa sono i permessi?)

Esporta

  1. Accedi
  2. Vai alla scheda "Esporta"
  3. Fai clic sul pulsante di opzione "Struttura e dati"
  4. Fai clic sul pulsante di opzione "Scarica"
  5. Fai clic sul pulsante "Esporta" e salvalo sul tuo computer locale.

Importa

  1. Vai su http://www.pgadmin.org/ per scaricare pgAdmin III (uno dei migliori strumenti grafici gratuiti di Postgres)
  2. Installalo
  3. Usalo per tutte le tue esigenze Postgres.

Per quanto riguarda le autorizzazioni, basta aprire il dump del database (è testo semplice) e cercare le righe in cui tenta di modificare l'utente corrente o imposta il proprietario di una tabella. Quindi fai una ricerca/sostituisci e sostituisci il proprietario originale con il tuo nuovo nome utente. Non devi preoccuparti di concedere/modificare i permessi :D

Prima dovevamo farlo tutte le volte che passavamo dallo sviluppo alla produzione, il proprietario originale del db/table sarebbe stato lo sviluppatore e dovevamo cambiarlo nell'account del cliente una volta che eravamo pronti per il lancio.

Abbiamo sempre lavorato dalla console usando pg_dump e altri strumenti da riga di comando correlati, ma mi aspetto che questi corrispondano alle opzioni che hai nell'interfaccia web.


L'esportazione phpPgAdmin utilizza pg_dump. Puoi documentarti su questo se vuoi sapere cosa sta facendo.

Potresti anche voler esportarlo come SQL invece di COPY. COPY è per Postgres e avrai bisogno di SQL se vuoi provare a usare un database diverso. È anche più facile capire se sei abituato a database diversi.

Quello che otterrai con "Struttura e dati" è un file sql che inizierà con la struttura della tabella del database, quindi tutti i dati, quindi i vincoli e le chiavi.

Come ha sottolineato sascha, potresti avere problemi con le autorizzazioni. Ho sempre trovato più semplice eliminare le righe di autorizzazione o commentarle poiché si tratta solo di un database di sviluppo. Rimuovi/commenta/modifica le righe che contengono "PROPRIETARIO". Mi piace

ALTER TABLE schema.table OWNER TO pguser;

Ogni istruzione CREATE TABLE avrà uno di questi dopo per impostare il proprietario della tabella.

IMPORTAZIONE

Se hai errori SQL (che ho visto abbastanza spesso, a seconda dei dati. Le stringhe con caratteri dispari possono essere un problema) potrebbe essere più semplice dividere il file e copiare prima la struttura ed eseguirlo come standard Interrogazione SQL. Quindi inizia con i dati e importali una tabella alla volta. Rende molto più facile trovare l'errore quando lo tagli in parti. Soprattutto quando si ha a che fare con i messaggi di errore molto inutili.

Sì, è un sacco di lavoro di copia e incolla, ma porta a termine il lavoro e probabilmente richiederà meno tempo rispetto al porting in MySQL e alla necessità di modificare il PHP per connettersi e ottenere dati da MySQL invece che da Postgres.

PhpPgAdmin e pgadminIII hanno entrambi la capacità di eseguire istruzioni SQL.

pgAdminIII -> seleziona database -> seleziona il pulsante 'Esegui query SQL arbitrarie'.PhpPgAdmin -> seleziona database -> seleziona il link 'SQL'.

Onestamente questo è il modo meno irritante di spostare i database che ho trovato. Ci vuole più tempo, ma solo se non si verificano errori.


Linux
  1. Cosa puoi fare con un VPS cloud da 256 MB per $ 0,99?

  2. Come Marty McFly, puoi rendere la tua azienda a prova di futuro utilizzando il cloud e altri strumenti (parte 2 di 2)

  3. Come Marty McFly, puoi rendere la tua azienda a prova di futuro utilizzando il cloud e altri strumenti (parte 1 di 2)

  4. Cosa puoi fare con un VPS e un Cloud Server?

  5. Usando la cronologia di bash per ottenere un comando precedente, copialo e poi "eseguilo" ma con il comando commentato

Come installare e configurare PostgreSQL con phpPgAdmin su Ubuntu 20.04 LTS

Ecco tutto ciò che puoi fare con Nmap – Esempi di comandi

Tutto su File Manager (e cosa puoi fare con esso)

Che cos'è un Homelab e perché dovresti averne uno?

Cos'è Content Curation e come dovresti farlo?

Cosa può fare un utente malintenzionato con il Bluetooth e come dovrebbe essere mitigato?