Vous n'êtes pas identifié(e).
Pages : 1
Je vous remercie monsieur Marc.
J'ai réussi à créer l'utilisateur que je voulais, il fallu aussi sa base de données correspondante mais au final cela a marché.
Si vous connaissez une solution qui pourrait permettre de ne pas avoir à créer une base de données pour l'utilisateur, je serai aussi preneur.
Merci d'avance !!!
Merci beaucoup monsieur Marc Cousin.
Je vais aller expérimenté tout ça et vous tiendrai au courant.
Bonjour la communauté,
Je reviens vous voir comme d'habitude car vous avez toujours été sympas avec moi.
Cette fois-ci, je voudrais créer un utilisateur Système pour PostgreSQL sous debian 8.
Je rappelle que par défaut il y a un utilisateur Système qui s'appelle postgres et qui à partir du shell peut lancer des requêtes notamment avec l'option -c, à présent je voudrais créer un autre utilisateur Système mais qui n'aura que les droits de connexion et de SELECT sur les bases de données dans le serveur.
J'espère que vous avez compris mon soucis et que quelqu'un me filera un coup de main.
Bon début de semaine à vous les amis !!!
Bonjour,
Je finis jamais de vous solliciter mes amis.
Ma requête aujourd'hui est que j'ai créé un curseur en plpgsql qui me récupère la liste des databases comme suit:
--drop function dbCursor();
CREATE OR REPLACE FUNCTION dbCursor() RETURNS char AS $$
DECLARE
curseur refcursor;
dbname pg_database.datname%TYPE;
BEGIN
OPEN curseur FOR execute ('SELECT datname FROM pg_database');
LOOP
FETCH curseur INTO dbname;
IF NOT FOUND THEN
EXIT;
END IF;
RAISE NOTICE 'Dbname: %', dbname;
COPY (SELECT * FROM information_schema.tables) TO '/home/developer/FOFANA/Agent PostgreSQL/result/information_schema.tables.csv' WITH CSV HEADER DELIMITER ';' NULL '-';
END LOOP;
CLOSE curseur;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
SELECT dbCursor();
Je demande maintenant comment je dois faire pour me connecter avec aucune des base et y exécuter la requête SELECT * FROM pg_tables; ?
Je peine avec le code depuis, je me suis rendu conte que la commande psql ne fonctionnait pas dans mon code.
Si quelqu'un a la solution, je lui en serai très reconnaissant.
MERCI D'AVANCE LES AMIS !!!
Merci beaucoup tous les deux.
Vous êtes supers tous les deux.
Bonjour les amis.
Je reviens vers vous pour exposer un autre problème.
Après exécution du script que je vous avais mis en copie la semaine dernière, je n'obtiens pas les tables des autres bases de données sur le serveur.
En effet, le script ne m'affiche que les tables de la base postgres or il y a sur le serveur il y a d'autres bases de données.
Normalement, toutes les tables de toutes les bases de données sur le serveur doivent se trouver dans la tables pg_tables, non ?
@Douk V5
Ce que vous voulez, ce n'est ni moins ni plus qu'une réplication entre deux serveurs de bases de données.
Si vous maîtrisez la réplication sous PostgreSQL, alors vous aurez résolu votre problème tout seul.
Par contre, la réplication que je connais n'attendra pas 24h mais c'est instantanée.
C'est la réplication sous MySQL que je maîtrise par contre, je ne suis pas encore appelé à mettre en place une réplication sous PostgreSQL mais il me semble tout simple.
Bonjour les amis,
DIEU merci, j'ai réussi à créer le script de l'agent collecteur d'informations PostgreSQL, même si il y a beaucoup à parfaire.
Je vous mets en copie mon script qui, je ne l'aurai jamais imaginé, est si simple à écrire.
Le voici ci-dessous:
#!/bin/bash
list_of_tables=(
information_schema.columns
informations_schema.views
informations_schema.schemata
information_schema.tables
pg_tables
pg_tablespace
pg_database
pg_indexes
pg_views
)
for i in $"{list_of_tables[@]}";
do
psql -c "COPY SELECT * FROM $i) TO '/path/$i.csv' WITH CSV HEADER";
done
path = le chemin du répertoire dans lequel vous souhaitez copier les résultats de la requête SELECT
N'hésitez pas à me donner des conseils pour améliorer le script.
Je sais par exemple qu'il faut un utilisateur qui a les privilèges de se connecter sur le serveur PostgreSQL et le droit SELECT sur toutes les tables.
Si vous vous voyez d'autres améliorations, vraiment n'hésitez à m'aider.
Merci d'avance la communauté !
Merci beaucoup M ruizsebastien pour cette réponse.
C'est un peu ça effectivement sauf que je voudrais stocker les infos dans des fichiers CSV, mon plus grand problème est comment m'y prendre avec le développement du script.
Quand je tape manuellement les requêtes sql, j'ai les résultats mais je comprends pas comment je dois m'y prendre automatiser tout ça vias un script bash.
J'ai cru comprendre que dans mon script, il devra y avoir les instructions qui permettront la connexion à la base et à partir de là, avec une requête dynamique, parcourir les tables du SGBDR et retourner les résultats dans un fichier CSV sauf que si je dois écrire toutes les requêtes à la main, ça ne va pas le faire.
J'ai donc pensé à créer un fichier de configuration dans lequel je vais recenser toutes les tables du SGBDR et que mon script ira cherché à la volet selon si la table est dé-commentée ou pas.
Encore une fois merci beaucoup monsieur ruizsebastien.
Oui effectivement,
Mais là, je veux juste savoir comment m'y prendre et le reste, je m'en chargerai.
Sinon merci quand même !
Bonjour,
Je veux créer un agent collecteur de configuration du SGBDR PostgreSQL en bash et je ne sais comment m'en tenir ?
Est-ce que quelqu'un pourrait me donner une piste ?
Pour info, cet agent aura pour rôle de collecter toutes les informations du SGBDR à savoir par exemple les noms des machines sur lesquelles PostgreSQL est installé, les noms de toutes les bases de données, leurs configurations respectives, les tables, tablespaces, schémas, views et index qui leur contiennent etc.
S'il y a quelqu'un qui a un lien qui pourrait m'aider aussi, ce sera génial.
Merci d'avance la communauté !!!
Sissi, vous avez raison.
J'ai oublié de le préciser mais je l'avais:
log_line_prefix = '%t [%p] %r %u@%d %a : [%l-1] '
Bonjour la communauté !
J'ai installé pgbadger sur une VM debian 8.
Les rapports de pgbadger sont vides bien que les fichiers de logs loguent bien.
Pour rappel, j'ai configuré le postgresql.conf comme suit:
log_min_duration_statement = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
log_error_verbosity = default
lc_messages= 'C'
lc_monetary = 'C'
lc_numeric = 'C'
lc_time = 'C'
Merci d'avance à tous !!
Merci beacoup Monsieur ruizsebastien.
Merci beaucoup Monsieur Gleu, c'est vraiment gentil de votre part.
Auriez-vous un lien où les objets PostgreSQL sont détaillés ?
Ou même pourriez-vous me dire la vue ou la table dans laquelle il y a tous les différents types d'objets sous PostgreSQL ?
Et merci d'avance Monsieur !!!
Bonjour tout le monde,
Je demande à savoir les différents types d'objets sous PostgreSQL autres aue les tables, les vues, les indexes.
Et aussi si un schéma est aussi un objet ?
A part cela, est-ce qu'une dans une même instance PostgreSQL, deux bases de données peuvent avoir des paramètres configurés différemment dans le fichier postgresql.conf ?
Merci d'avance les amis !!!
Oui c'est bien un agent qui me renvoie les informations sous format csv. Mais le format n'est pas important.
Et aussi ce n'est pas de la supervision ou que de la supervision mais surtout une collecte de configuration qui pourra aider un DBA par exemple à prendre en main le serveur de base de données.
Non scp et rsync c'est pour copier des fichiers d'une machine vers une autre alors agent dont je parle, c'est un agent qui va collecter toutes informations relatives au serveur de base de données PostgreSQL; à savoir le nombre de base de données, le nombre de tablespaces, la configuration des différents paramètres du serveur etc.
Décidément il n'y a pas eu d'agent développé pour collecter les configurations de PostgreSQL.
Bonjour,
J'ai pour mission de mettre en place un agent collecteur de configurations PostgreSQL , si quelqu'un peut me donner un coup de main, ce serait très gentil et de préférence développer en bash ou en Python car ce sont ces langages que je maîtrise mieux que le Perl.
Dans l'attente d'une suite radieuse, je vous souhaite de passer une excellente journée.
Pages : 1