GNU/Linux >> Tutoriels Linux >  >> Linux

Pouvez-vous expliquer comment exporter puis importer PostgreSQL à l'aide de phpPgAdmin ? (Et qu'y a-t-il avec les autorisations ?)

Exporter

  1. Connexion
  2. Accédez à l'onglet "Exporter"
  3. Cliquez sur le bouton radio "Structure et données"
  4. Cliquez sur le bouton radio "Télécharger"
  5. Cliquez sur le bouton "Exporter" et enregistrez-le sur votre ordinateur local.

Importer

  1. Accédez à http://www.pgadmin.org/ pour télécharger pgAdmin III (l'un des meilleurs outils d'interface graphique Postgres gratuits)
  2. Installez-le
  3. Utilisez-le pour tous vos besoins Postgres.

En ce qui concerne les autorisations, ouvrez simplement le vidage de la base de données (c'est du texte brut) et recherchez les lignes où il essaie de changer l'utilisateur actuel ou définit le propriétaire d'une table. Ensuite, effectuez simplement une recherche/remplacement et remplacez le propriétaire d'origine par votre nouveau nom d'utilisateur. Pas besoin de s'inquiéter de l'octroi/de la modification des autorisations :D

Auparavant, nous devions le faire tout le temps lors du passage du développement à la production, le propriétaire d'origine de la base de données/de la table était le développeur et nous devions le changer pour le compte du client une fois que nous étions prêts à lancer.

Nous avons toujours travaillé depuis la console en utilisant pg_dump et d'autres outils de ligne de commande associés, mais je m'attends à ce qu'ils correspondent aux options que vous avez dans l'interface Web.


L'export phpPgAdmin utilise pg_dump. Vous pouvez lire à ce sujet si vous voulez savoir ce qu'il fait.

Vous pouvez également l'exporter en SQL au lieu de COPY. COPY est pour Postgres et vous aurez besoin de SQL si vous voulez essayer d'utiliser une base de données différente. Il est également plus facile de comprendre si vous êtes habitué à différentes bases de données.

Ce que vous obtiendrez avec 'Structure et données' est un fichier SQL qui commencera par la structure de la table de la base de données, puis toutes les données, puis les contraintes et les clés.

Comme sascha l'a souligné, vous rencontrez peut-être des problèmes avec les autorisations. J'ai toujours trouvé plus facile de simplement supprimer les lignes d'autorisation ou de les commenter car il ne s'agit que d'une base de données de développement. Supprimez/commentez/modifiez les lignes contenant le mot "PROPRIÉTAIRE". J'aime

ALTER TABLE schema.table OWNER TO pguser;

Chaque instruction CREATE TABLE en aura une après pour définir le propriétaire de la table.

IMPORTATION

Si vous avez des erreurs SQL (que j'ai vues assez souvent, en fonction des données. Les chaînes avec des caractères impairs peuvent être pénibles), il peut être plus facile de diviser le fichier et de copier d'abord la structure et de l'exécuter en standard. Requête SQL. Ensuite, commencez par les données et importez-les une table à la fois. Il est beaucoup plus facile de trouver l'erreur lorsque vous la coupez en plusieurs parties. Surtout lorsqu'il s'agit de messages d'erreur très inutiles.

Oui, c'est beaucoup de travail de copier-coller, mais cela fait le travail et prendra probablement moins de temps que de le porter dans MySQL et d'avoir ensuite à changer le PHP pour se connecter et obtenir des données de MySQL au lieu de Postgres.

PhpPgAdmin et pgadminIII ont tous deux la capacité d'exécuter des instructions SQL.

pgAdminIII -> sélectionnez la base de données -> sélectionnez le bouton 'Exécuter des requêtes SQL arbitraires'. PhpPgAdmin -> sélectionnez la base de données -> sélectionnez le lien 'SQL'.

Honnêtement, c'est la façon la moins irritante de déplacer des bases de données que j'ai trouvée. Cela prend plus de temps, mais seulement si vous ne rencontrez pas d'erreurs.


Linux
  1. Qu'est-ce qu'un dotfile shell peut faire pour vous

  2. Qu'est-ce que la curation de contenu et comment procéder ?

  3. Que pouvez-vous faire avec un VPS et un serveur cloud ?

  4. En utilisant l'historique bash pour obtenir une commande précédente, copiez-la, puis "exécutez-la", mais avec la commande commentée

  5. Que peut faire un attaquant avec Bluetooth et comment doit-il être atténué ?

Comment installer et configurer PostgreSQL avec phpPgAdmin sur Ubuntu 20.04 LTS

Tout sur le gestionnaire de fichiers (et ce que vous pouvez en faire)

Qu'est-ce qu'un Homelab et pourquoi devriez-vous en avoir un ?

Pouvez-vous développer des applications Linux avec Xamarin ?

Suppression de fichiers avec rm en utilisant find et xargs

Que signifie avoir * * * dans la commande traceroute ? et Comment pouvez-vous faire face à cette situation?