PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Offres » DBA PostgreSQL » 28/07/2015 11:00:21

gngassam
Réponses : 0

Société rattachée à un grand groupe, Recherche DBA postgreSQL.

------

Profil recherché:

Diplômé(e) d’une formation Bac +2, vous justifiez d’une expérience significative sur les bases de données PostgreSQL et NOSQL (MongoDB, Cassandra........).

Vous maitrisez les requêtes SQL (PL/SQL, PL/PgSQL)

Des connaissances en langage de programmation (PHP, Java, Python, Perl, Bash) seraient un plus.

------

Localisation: Marseille

Démarrage ASAP

-----

contact: 0495057662

#4 Général » Nombre de transaction/sec » 02/04/2013 13:26:36

gngassam
Réponses : 2

Bonjour,

(postgreSQL 9.1, Linux Debian)

J'aimerai savoir quels sont les moyens pour évaluer le nombre de transactions/jour ou transactions/seconde dans un cluster postgresql.

Merci

#5 Re : Général » Fichier de trace et performance » 02/04/2013 13:20:06

Merci,

Je voudrai juste savoir si le fait de trop tracer peut affecter les performances de postgreSQL ?

Ci-joint une cartographie de mon système pour des requêtes tracées au dessus de 20ms:



    Number of unique normalized queries: none
    Number of queries: 770,566
    Total query duration: 2d10h10m16.12s
    First query: 2013-04-01 06:25:05
    Last query: 2013-04-02 06:07:31
    Query peak: 201 queries/s at 2013-04-01 20:48:44
    Number of events: 371
    Number of unique normalized events: 13



    Total number of sessions: 1655
    Total duration of sessions: 76d14h27.16s
    Average duration of sessions: 1h6m38.08s
    Total number of connections: 1787


Dans mon cas, si je trace tout, le nombre de requêtes peut être multiplier par 100 (par exemple).

Merci.

#6 Général » Fichier de trace et performance » 02/04/2013 12:58:58

gngassam
Réponses : 4

Bonjour,

Utilisant postgreSQL 9.1 sur Linux Debian,

Je souhaiterai savoir si le fait de tracer un nombre important de requêtes poserai des problèmes de performance,

sachant que le fichier de trace est sur un disque séparé: Les traces étant gérée par syslog.

Merci.

#8 Re : Général » pgbadger » 31/10/2012 11:39:00

ci-dessous la Config postgres:

lc_messages = 'en_US.UTF-8'                     # locale for system error message
                                        # strings
lc_monetary = 'fr_FR.UTF-8'                     # locale for monetary formatting
lc_numeric = 'fr_FR.UTF-8'                      # locale for number formatting
lc_time = 'fr_FR.UTF-8' 

#9 Général » pgbadger » 30/10/2012 17:55:28

gngassam
Réponses : 4

Bonjour,

quelques soucis avec pgbadger. Je n'arrive pas à visualiser les requêtes. Je n'ai pas le menu associé (Most Frequent Queries par ex.).

La commande est la suivante:

/root/pgbadger/pgbadger /var/log/psql.log -o index.html --title server1 -f syslog

pgbadger 2.1
postgresSQL 9.0


config postgresql.conf:
log_destination = 'syslog'
log_min_messages = debug1
log_min_error_statement = debug1
log_min_duration_statement = 50
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration =on
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d '
log_lock_waits = on                   
log_statement = 'all'                 
log_temp_files = 0


Merci.

#10 Re : Sécurité » authentification via pgbouncer » 21/03/2011 18:41:22

ok,

ca confirme que je dois avoir quelques erreurs de conf. Je me met à leur recherche.

merci pour votre intervention.

#11 Re : Sécurité » authentification via pgbouncer » 21/03/2011 18:16:29

si tu as bien compris ma question wink,

cependant j'arrive toujour pas a me connecter via cette methode

sur postgresdatabaseserver :
----------
psql -p5435 postgres -h pgbouncerserver -U postgres
psql: ERROR:  Auth failed

.pgpass:
pgbouncerserver :5435:*:postgres:es

j'ai l'impression que pgbouncer n'arrivepas à décoder les paramètres de connexions.

#12 Re : Sécurité » authentification via pgbouncer » 21/03/2011 17:56:31

ok,
mais le soucis c'est que tous mes scripts sont sur la machine ou tourne la base de donnees, cependant bien qu'étant sur la meme machine, je suis obligé, afin de respecter les procedures, d'utiliser le pooler distant (application cliente:psql).

Le pooler quant a lui n'utilise pas d'application cliente postgreSQL (mais un string de connexion en utilisant le fichier texte userlist.txt).

ca ne pose pas de problème?

#13 Re : Sécurité » authentification via pgbouncer » 21/03/2011 17:41:25

pour la suite:

est-il possible de se connecter via pgbouncer en utilisant un fichier d'authentification pgpass (ou pgpass est il lié a la libpq+psql)?

Merci

#14 Re : Sécurité » authentification via pgbouncer » 21/03/2011 16:12:29

merci, c'était ca, en redemarrant ca a effectivement changé, je voulais en etre sur avant d'effectuer un redémarrage en prod.

#15 Sécurité » authentification via pgbouncer » 21/03/2011 12:42:27

gngassam
Réponses : 10

Bonjour,

j'ai quelques soucis de sécurité via pgbouncer. J'utilise pgbouncer comme pooler. Etant le DBA, Dès que je cree un utilisateur dans la base avec mot de passe, l'admin pgbouncer n'est pas forcer de tenir compte de ce mot de passe pour se connecter. Il lui suffit de mettre dans son fichier mot de passe de pg_bouncer le mot de passe qu'il souhaite. et il arrive a se connecter. Est-ce normal?
je souhaiterai authentifier les utilisateurs entre la connexion pgbouncer--->postgreSQL.

sur pgbouncer:
-------------------

pgbouncer.ini:
postgres= host=postgresdatabaseserver dbname=postgres port=5435
auth_type = md5

userlist.txt:
"postgres" "postgres"

sur le serveur de base:
-----------------------------

pg_hba.conf
host    all         all         pgbouncerserver/32        md5

psql> alter user postgres password 'es';
ALTER

A partir d'un client:

1)
psql -h pgbouncerserver -Upostgres
Password:postgres (l'utilisateur reussi à se connecter avec le mot de passe de pgbouncer alors que son mot de passe dans la base est 'es')

2)
psql -h pgbouncerserver -Upostgres
Password:es
psql: ERROR:  Auth failed (l'utilisateur ne peut pas se connecter avec le mot de passe de la base )

Environnement:
postgreSQL 8.4.4
pgbouncer 1.3.4

Merci.

#16 Re : Général » Réinstallation de PostgreSql 8.4 » 05/11/2010 12:07:59

slash a écrit :

1) Par contre quelqu'un saurait il dans quel cas on peut se retrouver avec un postmaster.pid vide ou corrompu qui empeche le démarrage de postgres?

Tout arrêt brutal de la base de données (kill du pid sous linux par exemple). En somme ne pas laisser le temps au serveur de supprimer le fichier postmaster.pid

slash a écrit :

2) Pour ma part, je pense avoir peut être éteint brutalement la machine sans arréter le service PostGres correctement. Est-ce que cela peut en être la cause?

Oui

slash a écrit :

3) Si je supprime automatiquement le postmaster.pid au démarrage, après ce type plantage par exemple, je risque de perdre des données dans ma base?

cause directe, Non, par répercussion oui, un arret brutal de la base de données peut créer une incohérence dans les fichiers  (l'écriture d'un fichier de données qui s'arrête en plein milieu par ex.), ce qui met la base de données en mode récovery (il n'est pas dit que la restauration se terminera correctement).

#17 Re : Général » mise à jour PG_CLASS » 04/11/2010 17:25:50

Parfait,

c'était tout a fait ça.

Merci

#18 Re : Général » mise à jour PG_CLASS » 04/11/2010 16:40:10

gleu a écrit :

Pourquoi cette table ne devrait plus exister ?

testifr=# \c mayo2
psql (8.4.4)
Vous êtes maintenant connecté à la base de données « mayo2 ».
mayo2=# select * from pg_tables where tablename ='asset_rights_OLD';
schemaname |    tablename     | tableowner | tablespace | hasindexes | hasrules | hastriggers
------------+------------------+------------+------------+------------+----------+-------------
public     | asset_rights_OLD | mayo       |            | t          | f        | t
(1 ligne)

mayo2=# \d asset_rights_OLD
Aucune relation nommée « asset_rights_OLD » n'a été trouvée.
mayo2=#

gleu a écrit :

elle a été supprimée ? comment ?

oui, je l'ignore

Sauf que lorsque j'ai voulu exécuter un script qui récupère l'ensemble des tables pour faire des GRANT j'ai eu cette erreur:


mayo2=# select pg_grant('view_4_mview_user','select','%','public');
ERROR:  relation "public.asset_rights_old" does not exist
CONTEXTE : SQL statement "GRANT select ON public.asset_rights_OLD TO view_4_mview_user"
PL/pgSQL function "pg_grant" line 11 at EXECUTE statement
mayo2=#

ci-joint le script:

CREATE FUNCTION pg_grant(TEXT, TEXT, TEXT, TEXT)
RETURNS integer AS '
DECLARE obj record;
num integer;
BEGIN
num:=0;
FOR obj IN SELECT relname FROM pg_class c
JOIN pg_namespace ns ON (c.relnamespace = ns.oid) WHERE
relkind in (''r'',''v'',''S'') AND
nspname = $4 AND
relname LIKE $3
LOOP
EXECUTE ''GRANT '' || $2 || '' ON '' || $4||''.''||obj.relname || '' TO '' || $1;
num := num + 1;
END LOOP;
RETURN num;
END;
' LANGUAGE plpgsql SECURITY DEFINER;

par contre, J'ai eu a faire une migration de cette BD 8.1.15 => 8.4. il y'a quelque temps deja

#19 Re : Général » mise à jour PG_CLASS » 04/11/2010 12:17:00

Ci-joint la réponse du select.

-[ RECORD 1 ]--+----------------------------------
relname        | asset_rights_OLD
relnamespace   | 2200
reltype        | 17572
relowner       | 16534
relam          | 0
relfilenode    | 17570
reltablespace  | 0
relpages       | 4545
reltuples      | 501125
reltoastrelid  | 0
reltoastidxid  | 0
relhasindex    | t
relisshared    | f
relistemp      | f
relkind        | r
relnatts       | 9
relchecks      | 0
relhasoids     | f
relhaspkey     | t
relhasrules    | f
relhastriggers | t
relhassubclass | f
relfrozenxid   | 1513
relacl         | {mayo=arwdDxt/mayo,homsys=r/mayo}

#20 Général » mise à jour PG_CLASS » 04/11/2010 12:01:40

gngassam
Réponses : 6

Bonjour,

j'utilise postgreSQL 8.4 sous linux. La table pg_class continu de référencer une table qui n'existe pourtant plus. comment le mettre a jour. J'ai fait un VACUUM (sans FULL, car en prod) et un ANALYZE. Rien n'y fait.

Merci d'avance

#21 Re : Migration » probleme tsearch » 23/07/2010 10:21:58

C'est ce que je pensai aussi, mais j'espérai que ce soit plus simple que ça, vu que je suis en prod.

Merci, marc

#22 Re : Migration » probleme tsearch » 23/07/2010 09:38:47

Merci marc,

cependant je l'avais déjà fait, c'est la le soucis:

gngassam a écrit :

base=# select * from pg_ts_cfg;
     ts_name     | prs_name |    locale
-----------------+----------+--------------
default_russian | default  | ru_RU.KOI8-R
simple          | default  |
default         | default  | en_US.UTF-8

la locale en_US.UTF-8 est bien celle que je souhaite, je l'ai obtenu en mettant à jour la table pg_ts_cfg (ie: update pg_ts_cfg set locale = 'en_US.UTF-8' where ts_name = 'default').
quant à to_tsvector  il fait ce que je veux en faisant le select "set_curcfg('default')" avant, sinon "ERROR:  could not find tsearch config by locale".

#23 Re : Migration » probleme tsearch » 22/07/2010 12:26:01

Merci marc,

en faisant le select "set_curcfg('default')", ca fonctionne effectivement à partir de la console. Mais cepandant, la migration doit être invisible pour les applis, y'a t'il un moyen de le rendre effectif pour toute les sessions, sans toucher au code des applis?

#24 Re : Migration » probleme tsearch » 22/07/2010 11:06:43

oups!!
je rajoute
serveur1:

base=# SHOW lc_collate;
lc_collate
-------------
en_US.UTF-8
(1 row)

serveur2

base=# SHOW lc_collate;
lc_collate
------------
fr_FR
(1 ligne)

#25 Migration » probleme tsearch » 22/07/2010 11:00:50

gngassam
Réponses : 8

bonjour,

lors d'une migration de base entre deux serveur dump/restore (serveur1-> serveur2) j'ai rencontré le problème suivant avec la contrib tsearch: sachant que tout les GRANTont été accordés sur les tables pg_ts*, et le serveur à été redémarré. Est-ce un problème du à la différence des locales, si oui y'a t'il un moyen de les forcer?

serveur 1:
[root@serveur1 readonly]#  uname -a
Linux serveur1  2.6.18-8.1.10.el5 #1 SMP Thu Aug 30 20:43:28 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

[root@serveur1 readonly]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


version postgreSql(8.1.15)

base=# select * from pg_ts_cfg;
     ts_name     | prs_name |    locale
-----------------+----------+--------------
default_russian | default  | ru_RU.KOI8-R
simple          | default  |
default         | default  | en_US.UTF-8
(3 rows)


base=#  SELECT to_tsvector('TEST TS SEARCH');
        to_tsvector
----------------------------
'ts':2 'test':1 'search':3
(1 row)



serveur 2:

-bash-3.1$ uname -a
Linux serveur2 2.6.18-8.1.10.el5 #1 SMP Thu Aug 30 20:43:28 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

-bash-3.1$ locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=


version postgreSql(8.1.15)

base=# select * from pg_ts_cfg;
     ts_name     | prs_name |    locale
-----------------+----------+--------------
default_russian | default  | ru_RU.KOI8-R
simple          | default  |
default         | default  | en_US.UTF-8
(3 lignes)



Merci

base=# SELECT to_tsvector('TEST TS SEARCH');
ERROR:  could not find tsearch config by locale

Pied de page des forums

Propulsé par FluxBB