FAQ PostgreSQL

FAQ PostgreSQL
Selon le sondage annuel des développeurs annuels de Stackoverflow, PostgreSQL est le deuxième système de gestion de base de données le plus populaire disponible, et ce n'est pas sans raison valable. Depuis sa version initiale en 1996, PostgreSQL ou Postgres, s'est considérablement amélioré, ajoutant plusieurs fonctionnalités utiles, y compris les types définis par l'utilisateur, l'héritage de la table, le contrôle de concurrence multi-version, et plus.

PostgreSQL est également très léger, facile à configurer et peut être installé sur plusieurs plates-formes, telles que des conteneurs, des machines virtuelles ou des systèmes physiques. Outre son interface graphique par défaut, Pgadmin, Postgres prend également en charge plus de 50 autres IDE, dont un tiers sont gratuits. Cet article couvrira certaines des questions les plus fréquemment posées (FAQ) sur Postgresql.

PostgreSQL est-il gratuit?

PostgreSQL est un produit gratuit qui a été publié sous la licence PostgreSQL approuvée OSI. Cela signifie qu'il n'y a aucun frais nécessaire pour utiliser PostgreSQL, même à des fins commerciales, bien qu'il existe des extensions et des services tiers qui nécessitent un abonnement ou des frais ponctuels.

Est postgresql open-source?

Oui, PostgreSQL est open-source. Postgresql a commencé comme un projet de l'Université de Berkeley en 1986 et a été publié au public le 8 juillet 1996, en tant que système de gestion de base de données relationnel libre et open source.

Est-il sensible à la casse postgresql?

PostgreSQL est sensible à la casse par défaut, mais dans certaines situations, il peut être rendu insensible au cas. Par exemple, lors de la création d'une table dans PostgreSQL, les noms de colonne et de table sont automatiquement convertis en cas inférieur pour les rendre insensibles. La même chose est également effectuée pour les requêtes; De cette façon, ils correspondent à la colonne et aux noms de table déjà converti.

Notez que lorsque vous utilisez des devis pour la colonne ou le nom du tableau, tel que «montant», la conversion ne se produit pas. Vous devrez également utiliser des devis dans vos requêtes pour empêcher PostgreSQL de convertir les requêtes en minuscules. Vous pouvez également faire des valeurs de colonne insensibles à un cas à l'aide d'un mot clé spécifique à PostgreSQL appelé Citerx Lors de la création de colonnes. Ce mot-clé permet également une colonne déclarée comme UNIQUE ou CLÉ PRIMAIRE être insensible à la casse.

Est postgresql relationnel?

PostgreSQL a été initialement conçu pour être un système de gestion de base de données relationnel. Depuis, il a augmenté bien au-delà de sa conception d'origine, car PostgreSQL prend désormais en charge certaines capacités NOSQL, telles que le stockage et la récupération des données dans JSON (JSONB) et les paires de valeurs clés (HSTORE). Contrairement à de nombreuses bases de données NOSQL uniquement, les capacités du NOSQL de PostgreSQL sont conformes à l'acide et peuvent être interfacées avec SQL, comme tout autre type de données pris en charge par PostgreSQL.

Pourquoi devrais-je utiliser PostgreSQL?

Vous devez comprendre les besoins de votre produit avant de choisir un système de gestion de base de données pour ce produit. Habituellement, ce choix revient à utiliser un SGBD relationnel ou une base de données NoSQL. Si vous avez affaire à des données structurées et prévisibles avec un nombre statique d'utilisateurs ou d'applications accédant au système, envisagez d'opter pour une base de données relationnelle, comme PostgreSQL.

En plus de choisir PostgreSQL car il s'agit d'un SGBDR, il existe plusieurs autres fonctionnalités de ce système de gestion de base de données qui en fait l'un des systèmes les plus populaires disponibles aujourd'hui. Certaines de ces fonctionnalités incluent les éléments suivants:

  • Prise en charge de divers types de données, tels que JSON / JSONB, XML, les paires de valeurs clés (HSTORE), Point, Line, Circle et Polygon. Vous pouvez également créer des types de données personnalisés.
  • Emballages de données étrangers qui permettent la connexion à d'autres bases de données ou flux, telles que Neo4j, CouchDB, Cassandra, Oracle, et plus encore, avec une interface SQL standard.
  • Capacité à créer des fonctions personnalisées.
  • Langues procédurales, telles que PL / PGSQL, Perl, Python, et plus.
  • Accès à de nombreuses extensions qui fournissent des fonctionnalités supplémentaires, comme les postgis.
  • Contrôle de concurrence multi-version.
  • Authentification multi-facteurs avec certificats et une méthode supplémentaire.

Et bien plus. Vous pouvez voir une liste complète des fonctionnalités proposées par PostgreSQL ici.

PostgreSQL vs MySQL: PostgreSQL est-il meilleur que MySQL?

MySQL est le système de gestion de base de données le plus populaire disponible aujourd'hui. Il est léger, facile à comprendre et à configurer, et très rapidement, en particulier lorsqu'il s'agit de fonctions en lecture seule à courant. La facilité d'utilisation de MySQL facilite la recherche d'administrateurs de base de données pour ce système de gestion de base de données.

Cela dit, MySQL n'a pas plusieurs des fonctionnalités avec des bases de données PostgreSQL. Pour commencer, PostgreSQL n'est pas seulement un système de gestion de la base de données relationnelle, il s'agit également d'un système de gestion de la base de données relationnelle d'objet. Cela signifie que PostgreSQL prend en charge des fonctionnalités uniques, telles que l'héritage de la table et la surcharge de fonction.

Il fonctionne mieux lorsqu'il s'agit de requêtes complexes sous une charge lourde. Cela ralentit cependant lorsqu'il s'agit de fonctions en lecture seule.

PostgreSQL propose également une plus large gamme de types de données disponibles, et vous permet de créer des types de données personnalisés pour votre base de données. Peut-être que son plus grand avantage sur MySQL est l'extensibilité de Postgresql. Vous pouvez créer des extensions postgresql en fonction de votre cas d'utilisation.

Pour la plupart, PostgreSQL est un meilleur SGBD que MySQL. Mais à la fin, tout se résume à votre cas d'utilisation. Si vous créez un site Web ou une application Web simple et que vous n'avez qu'à stocker des données, vous feriez mieux d'utiliser MySQL. Mais si vous avez affaire à des opérations plus complexes et à volume élevé, pensez à aller avec PostgreSQL.

PostgreSQL vs MongoDB: est-ce que PostgreSQL est meilleur que MongoDB?

Une comparaison entre PostgreSQL et MongoDB est simplement une comparaison entre les systèmes de gestion des bases de données relationnelles et les bases de données NoSQL. Et la réponse qui se résume mieux à votre cas d'utilisation; Comment vous souhaitez utiliser et structurer vos données. Chaque SGBD contient des caractéristiques utiles dans différentes situations.

Si vous créez une application avec une structure de données imprévisible et dynamique, vous voudrez opter pour une base de données NoSQL comme MongoDB. Les systèmes de gestion des bases de données NoSQL sont connus pour leurs bases de données sans schéma, ce qui signifie que la structure de la base de données n'a pas à être définie sur la création. Cela rend les bases de données NoSQL très flexibles et facilement évolutives.

PostgreSQL est un meilleur ajustement si vous travaillez avec des données avec une structure fixe et statique qui change rarement. PostgreSQL a également l'avantage de SQL, un langage de requête puissant et bien établi. Les systèmes de gestion des bases de données relationnelles sont plus appropriées pour les applications qui nécessitent une intégrité référentielle, telles que les applications fintech.

Ces dernières années, les deux types de SGBD ont adopté des caractéristiques clés de l'autre. Par exemple, comme expliqué ci-dessus, PostgreSQL prend en charge les paires de valeurs clés et les types de données JSON, les caractéristiques clés des systèmes de gestion de la base de données NOSQL (DBM). MongoDB prétend désormais être conforme à l'acide, une caractéristique clé des systèmes de gestion des bases de données relationnelles (RBDM).

Cependant, aucune des fonctionnalités ne fonctionne comme dans le type de SGBD d'origine qui le prend en charge. Par exemple, selon cet article, MongoDB a encore plusieurs problèmes avec sa conformité acide. De plus, alors que PostgreSQL prend en charge les types de données JSON et les paires de valeurs clés, ce système n'est pas sans schéma. Vous êtes toujours tenu de déclarer la structure lors de la création.

PostgreSQL: Comment se connecter à un serveur de base de données

Avant de vous connecter à une base de données, assurez-vous que vous avez téléchargé et installé PostgreSQL sur votre système d'exploitation. Ensuite, lancez le PSQL application. Cela ouvre un programme d'interface de ligne de commande dédié pour l'interfaçage avec le serveur de base de données PostgreSQL.

Une fois le serveur lancé, il vous sera demandé de remplir les champs suivants séquentiellement: serveur, base de données, port, nom d'utilisateur et mot de passe. Vous pouvez conserver les options par défaut qui ont été définies lors de l'installation de PostgreSQL en frappant Entrer Pour chaque requête.

Lorsque vous arrivez au champ de saisie du mot de passe, entrez le mot de passe que vous définissez lors de l'installation pour l'utilisateur «Postgres». Une fois cela fait et que votre identité a été validée avec succès, vous serez connecté au serveur de base de données.

Une autre façon de se connecter à une base de données est d'utiliser pgadmin. pgadmin L'interface graphique de Postgresql pour l'interfaçage avec ses serveurs de base de données. Utiliser pgadmin, Lancez l'application. Cela devrait ouvrir une application Web sur votre navigateur. Clic-droit Les serveurs Dans le coin supérieur gauche de l'application Web, puis survolez Créer et sélectionner Serveur… du menu qui apparaît.

Vous pouvez également cliquer Ajouter un nouveau serveur sous Liens rapides. Quelle que soit l'option que vous choisissez, vous devriez maintenant voir une boîte de dialogue demandant des informations.

Entrez un nom pour le serveur, puis accédez à Connexion languette. Sous le Connexion onglet, saisissez «localhost» comme votre Nom / adresse d'hôte, puis tapez dans le postgres Mot de passe de l'utilisateur qui a été configuré pendant l'installation. Cliquez sur Sauvegarder Pour enregistrer le serveur. La boîte de dialogue se terminera et vous serez connecté au serveur de base de données automatiquement.

Où sont stockés les bases de données postgresql?

Par défaut, les bases de données postgresql sont stockées dans un données dossier, mais l'emplacement de ce dossier varie avec le système d'exploitation. Sur Windows, vous le trouverez généralement dans l'un des emplacements suivants: C: \ Program Files (x86) \ Postgresql \\ Data ou C: \ Program Files \ PostgreSQL \\ Data.

Sur un Mac, si vous avez installé PostgreSQL via Homebrew, vous le trouverez dans / usr / local / var / postgres / data. Sinon, il sera situé dans / Bibliothèque / postgresql // Données.

Pour Linux, l'emplacement varie avec la saveur Linux. Parfois, il se trouve dans / usr / local / pgsql / data ou / var / lib / postgresql / [version] / data.

Pour déterminer plus précisément l'emplacement des bases de données, entrez la commande suivante dans PSQL:

Afficher data_directory;

PostgreSQL: Comment démarrer le serveur de base de données

Le démarrage d'un serveur postgresql est légèrement différent pour chaque système d'exploitation. Pour démarrer le serveur sur Windows, d'abord, localisez le répertoire de la base de données. C'est généralement quelque chose comme «C: \ Program Files \ PostgreSql \ 10.4 \ données."Copiez le chemin du répertoire, car vous en aurez besoin dans un instant. Ensuite, lancez Invite de commande et exécutez la commande suivante.

PG_CTL -D "C: \ Program Files \ PostgreSQL \ 13 \ Data" Démarrer

Le chemin doit être le chemin du répertoire de la base de données que vous avez copié. Pour arrêter le serveur, remplacez simplement «Démarrer» par «Stop» dans la commande ci-dessus. Vous pouvez également le redémarrer en remplaçant «Commencez par« redémarrer ».

Lorsque vous essayez d'exécuter cette commande, vous pouvez obtenir l'erreur suivante: «PG_CTL n'est pas reconnu comme une commande interne ou externe." Pour résoudre ce problème, ajoutez «C: \ Program Files \ Postgresql \ 9.5 \ bin "et" C: \ Program Files \ PostgreSQL \ 9.5 \ lib »à la variable d'environnement de chemin de votre système.

Pour MacOS, si vous avez installé PostgreSQL avec Homebrew, utilisez les commandes suivantes:

Pour démarrer le serveur de base de données manuellement, exécutez la commande suivante:

pg_ctl -d / usr / local / var / postgres start

Assurez-vous que le chemin du répertoire est celui de votre base de données.

Pour démarrer le serveur de base de données maintenant et relancer à Login, exécutez la commande suivante:

Les services de brassage commencent postgresql

Pour arrêter le serveur pour les deux scénarios, remplacez simplement «Démarrer» par «Arrêtez."

Dans Linux, avant de démarrer un serveur de base de données, vous devez d'abord définir un mot de passe pour le postgres utilisateur. Aucun mot de passe n'est défini par défaut sur l'installation. Vous pouvez définir le mot de passe avec la commande suivante:

sudo -u postgres psql -c "alter user postgres mot de passe 'postgres';"

Bien sûr, votre mot de passe peut être tout ce que vous choisissez pour être. Une fois le mot de passe défini, pour démarrer le serveur, entrez la commande suivante dans le terminal:

service sudo postgresql start

Pour arrêter le serveur, remplacez «Démarrer» par «Stop» dans la commande, tout comme par Windows et MacOS.

PostgreSQL: Comment créer une base de données

Pour créer une base de données, assurez-vous que vous êtes déjà connecté à un serveur de base de données. Suivez les instructions ci-dessus pour le faire. Si vous vous êtes connecté au serveur via PSQL, Entrez la commande suivante pour créer une base de données:

Créer une base de données new_database;

Si vous souhaitez vous connecter à votre base de données récemment créée, entrez la commande suivante:

\ c new_database

Vous devriez maintenant y être connecté.

Si vous vous êtes connecté au serveur via Pgadmin, sur l'application Web, cliquez avec le bouton droit sur Bases de données, survoler Créer, et sélectionner Base de données…

Vous devriez voir une boîte de dialogue apparaître pour demander certains détails pour créer la base de données. Vous devrez saisir au moins le nom de la base de données pour créer la base de données. Entrez un nom dans le Base de données champ et cliquez Sauvegarder. Vous devriez maintenant pouvoir voir votre base de données récemment créée sous Bases de données.

Où sont les journaux postgresql?

Par défaut, les journaux postgresql sont stockés dans le enregistrer dossier sous le données dossier, l'emplacement par défaut pour les bases de données postgresql. Pour confirmer cela, exécutez la commande suivante dans PSQL:

Afficher log_directory;

Notez que cette commande affichera uniquement un chemin relatif, mais le chemin doit être situé dans le données dossier.

PostgreSQL a-t-il des procédures stockées?

Bien que PostgreSQL ait toujours pris en charge les fonctions définies par l'utilisateur, ce n'est que son V11.0 version qu'il comprenait la prise en charge des procédures stockées. Pour créer une procédure stockée dans PostgreSQL, utilisez le Créer une procédure déclaration. Pour exécuter une procédure stockée, utilisez le APPEL déclaration.

Conclusion

PostgreSQL a connu un développement actif depuis plus de 30 ans, ayant été créé dans les années 1980. Pendant ce temps, PostgreSQL a mûri de manière significative, et il s'agit actuellement du deuxième système de gestion de base de données le plus populaire au monde, selon l'enquête annuelle annuelle en 2020 de Stackoverflow.

Deux raisons principales de la popularité de PostgreSQL sont son extensibilité et la myriade de fonctionnalités utiles disponibles pour ses utilisateurs. Si vous sélectionnez un DBM pour votre projet et que vous avez décidé de préférer un SGBDR à une base de données NOSQL, PostgreSQL serait un excellent choix pour votre application.