Blog Navicat

Explorer les Foreign Data Wrappers et les Fonctions Statistiques de PostgreSQL 15 Mars 2024 par Robert Gravelle

PostgreSQL, renommé pour sa robustesse et son extensibilité, offre plusieurs fonctions utiles tant pour les développeurs que pour les administrateurs de bases de données. Parmi ces fonctions, file_fdw_handler, file_fdw_validator, pg_stat_statements, pg_stat_statements_info, et pg_stat_statements_reset se distinguent comme des outils inestimables pour améliorer la gestion de la base de données et l'optimisation des performances. Dans le blog d'aujourd'hui, nous apprendrons comment utiliser toutes ces fonctions ainsi que comment Navicat peut vous aider!

Fonctions de Fichier

La fonctionnalité Foreign Data Wrapper (FDW) de PostgreSQL permet une intégration transparente des sources de données externes dans la base de données. Les fonctions file_fdw_handler et file_fdw_validator sont spécifiquement conçues pour gérer les tables étrangères soutenues par des fichiers.

La file_fdw_handler sert d'interface entre PostgreSQL et la source de données externe, permettant l'exécution de requêtes SQL sur des fichiers situés en dehors de la base de données. Prenons un exemple où nous voulons créer une table étrangère nommée external_data référence à un fichier CSV nommé data.csv:


        CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;

        CREATE FOREIGN TABLE external_data (
            id INT,
            name TEXT,
            age INT
        ) SERVER file_server OPTIONS (filename '/path/to/data.csv');
    

Pendant ce temps, la fonction file_fdw_validator assure l'intégrité des options fournies lors de la création d'une table étrangère. Elle valide si le fichier spécifié existe et est accessible. Par exemple :


        SELECT file_fdw_validator('filename', '/path/to/data.csv');
    

Fonctions Statistiques

Le module pg_stat_statements de PostgreSQL fournit un ensemble de fonctions intégrées pour surveiller et analyser les performances des requêtes. Parmi celles-ci, pg_stat_statements, pg_stat_statements_info, et pg_stat_statements_reset sont indispensables pour identifier les goulots d'étranglement et optimiser les performances de la base de données.

pg_stat_statements est un module qui enregistre des statistiques sur les instructions SQL exécutées par un serveur. Il suit des détails tels que le nombre d'exécutions, le temps d'exécution total et l'utilisation des ressources pour chaque requête unique. Pour activer pg_stat_statements, vous devez l'ajouter au paramètre de configuration shared_preload_libraries dans postgresql.conf:

shared_preload_libraries = 'pg_stat_statements'

Après avoir redémarré le serveur PostgreSQL, vous pouvez interroger les statistiques en utilisant :


        SELECT * FROM pg_stat_statements;
    

pg_stat_statements_info fournit des informations supplémentaires sur le module pg_stat_statements telles que le numéro de version et la dernière heure de réinitialisation. Vous pouvez l'interroger comme suit :


        SELECT * FROM pg_stat_statements_info;
    

Enfin, pg_stat_statements_reset réinitialise les statistiques collectées par pg_stat_statements, vous permettant de repartir de zéro avec la surveillance des performances. Exécutez simplement :


        SELECT pg_stat_statements_reset();
    

Travailler avec les Fonctions Intégrées de PostgreSQL dans Navicat

Nous pouvons accéder à toutes les fonctions ci-dessus dans Navicat for PostgreSQL ou Navicat Premium 16 en développant la section "Fonctions" dans le Volet de Navigation :

PostgreSQL_functions_in_Navicat (113K)

Pour exécuter une fonction, sélectionnez-la simplement dans la liste des Objets et cliquez sur le bouton Exécuter la Fonction :

execute_function_button (62K)

Cela ouvrira une boîte de dialogue où vous pourrez fournir les valeurs des paramètres d'entrée :

input_parameter_dialog (33K)

Cliquez sur le bouton OK pour exécuter la fonction et voir les résultats (ou Annuler pour abandonner) :

pg_stat_statements_results (330K)

PostgreSQL, y compris file_fdw_handler, file_fdw_validator, pg_stat_statements, pg_stat_statements_info, et pg_stat_statements_reset, jouent un rôle essentiel dans l'amélioration de la gestion de la base de données et l'optimisation des performances des requêtes. En utilisant ces fonctions de manière efficace, les développeurs et les administrateurs peuvent rationaliser les opérations et garantir une utilisation optimale des capacités de PostgreSQL.

Partager
Archives du blog