Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#126 Re : Général » [RÉSOLU] affiche sous psql des caratere null » 11/01/2010 15:47:38
tu peux aussi utiliser l'option -t ou --tuples-only. Exemple :
$ echo 'SELECT ... ' | psql --tuples-only#127 Re : Installation » [RÉSOLU] could not load server certificate file "server.crt": No s » 30/12/2009 15:54:26
Apparement le paramètre ssl est 'on' mais il n'y a pas de certificat SSL.
Je vois deux solutions.
A/ Tout désinstaller, installer le paquet ssl-cert puis reinstaller les paquets postgresql
B/ Créer le certificats "à la main"
su - postgres
cd /etc/postgresql/8.3/main/
openssl req -new -text -out server.req
openssl rsa -in privkey.pem -out server.key
rm privkey.pem
openssl req -x509 -in server.req -text -key server.key -out server.crt
chmod og-rwx server.key
chown postgres.postgres server.key
cd /var/lib/postgresql/8.3/main
ln -s /etc/postgresql/8.3/main/server.key .
ln -s /etc/postgresql/8.3/main/server.crt .#128 Re : Réplication » Slony/PG8.4 sous Windows » 22/12/2009 16:37:37
Non ![]()
Slony fonctionne grace à des triggers qui se déclenchent à chaque modification de la base. Ces triggers remplissent une table d'activités ( sl_log_1 ou sl_log_2 ) qui contient les modifications à propager. Ces tables et ces triggers doivent être installés sur chaque bases du cluster de réplication puisque chaque noeud slony peut potentiellement devenir le noeud maitre.
#129 Re : Réplication » Slony/PG8.4 sous Windows » 22/12/2009 15:25:17
Le message indique que la fonction storenode est absente. Vous n'avez peut etre pas installé Slony sur la 2eme base ?
Il faut installer slony sur toutes les bases esclaves.
#131 Re : Général » Tâches automatiques » 14/11/2009 13:45:13
il existe un mécanisme appelé autovacuum qui peut prendre en charge une grande partie des opérations de maintenance.
Tout est expliqué là : http://docs.postgresql.fr/8.3/maintenan … autovacuum
#132 Re : Général » Table non sélectable » 20/10/2009 11:22:49
Que donne le résultat de la requête ci-dessous ?
select * from pg_catalog.pg_tables where tablename = 'matable';As-tu mis des majuscules dans le nom de la table quand tu l'as créée ?
#133 Re : PHP » Utilisation de pgsnap » 18/09/2009 12:31:50
pg_config est un petit outil pratique mais pas nécessaire et donc il n'est toujours inclut par défaut.
Tout dépend de ton système d'exploitation et de la méthode d'installation que tu as utilisé.
Sous debian/ubuntu, il faut installer les paquets libpq-dev et postgresql-8.x-server-dev
#134 Re : Général » Bases de données avec très forte volumétrie » 17/09/2009 12:53:50
Yahoo stocke plusieurs peta-octets dans un SGBD dérivé (fork) de Postgres :
http://glinden.blogspot.com/2008/05/yah … resql.html
D'autres systèmes de datawarehouse sont basés sur postgres ( netezza, greenplum )
Je ne connais pas d'exemples de bases PostgreSQL "non modifiées" hébergeant plusieurs Petas. Il me sembla qu'arrivé à ce niveau-là, le problème essentiel est l'infrastructure de stockage.
Quoiqu'il en soit , si pour le moment vous avez "simplement" quelques Teras de données , démarrer avec PostgreSQL est un bon choix. Si jamais vous atteignez les limite de PG d'ici 3 ans, vous pourrez facilement migrer vers des entrepots de données basés sur Postgres.
#135 Re : Perl » Problème opération de test sur une fonction trigger. » 06/09/2009 14:48:09
Je ne comprends l'intérêt de ce test. Connais-tu l'option "-p" de mkdir ?
#136 Re : Optimisation » Synchronisation de données dans notre entreprise » 25/08/2009 15:44:14
Pour faire de la synchronisation à basse fréquence, plusieurs solutions sont possibles. Le choix dépend souvent de la taille de la base et du volume moyen de changements à propager.
On peut bien sur faire de la synchro par batch. Je ne connais pas assez Talend pour dire si c'est un outil adapté dans ce cas de figure.
On peut aussi opter pour du "log replay" : on stocke tous les ordres SQL sur le serveur maitre et on les transfert sur l'esclave pour qu'il les rejoue. Playr (https://area51.myyearbook.com/trac.cgi/wiki/Playr ) peut faire ce genre de choses.
On peut également choisir un logiciel de réplication plus évolué comme Slony. Le temps de prise en main est un peu plus long mais au final ça apporte plus de souplesse et c'est plus évolutif en cas de montée en charge de la plate-forme.
#137 Re : Optimisation » dead rows » 22/08/2009 09:19:10
Comme le dit Guillaume, avoir des lignes mortes n'est pas un problème très grave si le VACUUM est exécuté fréquemment.
Par ailleurs, si la base est soumise à une activité constante, il est normal d'obtenir des messages du type "193074 dead row versions cannot be removed yet", là encore l'essentiel est de refaire un VACUUM ultérieurement pour tenter de récupérer ces lignes mortes un peu plus tard.
Pour tout cela, l'autovacuum est une solution pratique, simple et efficace. L'avez-vous activé ?
On peut aussi vous conseiller de tester la version 8.4 qui vient de sortir, car elle dispose d'un tout nouveau mécanisme de gestion des lignes mortes qui pourrait être intéressant dans votre cas...
Pour finir, pouvez-vous nous donner quelques précisions ? Quels est la version de PostgreSQL que vous utilisez ? Quelle est la valeur du paramètres max_fsm_pages ?
#138 Re : Général » Restauration d'un fichier généré avec PG_DUMP » 21/08/2009 15:38:03
Le dump que tu fais est au format SQL . pg_restore utilise des dumps binaires.
Donc soit tu fais des dumps au format binaire avec l'option -Fc
pg_dump -Fc -U postgres mabase > save%d%.dumpsoit tu restaures avec la commandes psql
psql -d nouvellebase -f savexxxxx.dump#139 Re : Optimisation » dead rows » 12/08/2009 19:53:44
Bonjour,
Cela indique que postgreSQL ne pouvait pas récupérer l'espace à cet instant. On peut imaginer qu'une (ou plusieurs) autre transaction travaillait ou verrrouilait sur ces lignes au moment du VACUUM. Si ce message est récurrent, il faut jeter un coup d'oeil dans les tables pg_locks et pg_stat_activity à la recherche de vieilles transactions.
#140 Re : Général » service windows Postgresql ne démarre plus » 03/08/2009 23:12:00
Quelle version de PostgreSQL utilisez-vous ?
Vérfiez la valeur de shared_buffers dans le fichier postgresql.conf.
En général sous windows quand le shared_buffers est trop élevé ( > 2GB ), on peut rencontrer ce genre de problèmes.
#141 Re : Général » Sauvegardes d'une base de données PostgreSQL avec volumétrie > 1 To » 02/07/2009 18:28:02
Bonjour,
Cela dépend grandement du type de stockage ( SATA / SAN ) et du type de RAID employé (matériel ou logiciel).
Pour donner un exemple, avec des disques SATA 10k rpm montés en RAID 0 on peut obtenir des vitesses d'écritures séquentielles de 80Mo/s.
Dans une telle configuration, on peut s'attendre à une durée de sauvegarde entre 4 et 5 heures.
Là où PostgreSQL apporte une amélioration, c'est sur la restauration des données, notamment avec la version 8.4 qui est sortie hier, puisque la restauration peut désormais s'effectuer en parallèle. On manque encore de tests de performance concernant cette nouvelle fonctionnalité mais cela s'annonce très prometteur !
Par ailleurs, on trouve sur internet plusieurs témoignages concernant des bases de plusieurs To fonctionnant parfaitement sous PostgreSQL, notamment chez Météo France.
Plus d'informations :
http://people.planetpostgresql.org/andr … L-8.4.html
http://www.postgresql.fr/temoignages:meteo_france
http://georezo.net/forum/viewtopic.php?id=60566
#142 Re : Général » Transfert de tables de base à base ou dump en série » 02/07/2009 11:23:56
avec DBlink ça devrait pouvoir se faire comme ça. A vérifier
DROP TABLE table_destination;
CREATE TABLE table_destination
AS SELECT *
FROM dblink('dbname=base_source', 'select * from table_source') AS lien_source (...);Sinon le faire en ligne de commande me paraitplus élégant :
pg_dump --clean -t table_source base_source| psql base_destination#143 Re : Général » Restauration extremement lente » 01/07/2009 00:18:33
Ma première idée est de vérfiier si tu as des performances identiques avec de dumps au format texte, en utilisant COPY au lieu d'INSERT.
Une seconde piste (à brule pour point) consiste à augmenter la valeur de checkpoint_segment. Cela va espacer les points de synchronisation des données sur disque et donc accélérer les insertions massives.
Une configuration de 10 segments permet d'avoir de meilleures performances. Pour des systèmes chargés en écriture, des valeurs entre 32 et 64 sont intéressantes.
Attention cela nécessite d'avoir plusieurs centaines de Mo d'espace libre, car le nombre fichiers de fichiers va sérieusement augmenter.
#144 Re : Général » Restauration extremement lente » 30/06/2009 13:57:11
Bonjour,
Il faudrait un peu plus d'information :
Quelle est la version de PostgreSQL ?
Quelle la vitesse des disques ?
Quelle la commande de sauvegarde ?
Quelle est la valeur de checkpoint_segment ?
#145 Re : Général » nécessité de la commande clusterdb » 30/06/2009 10:55:25
Un solution naïve consiste à surveiller le nombre d'update et
d'insertion mais il existe une méthode plus subtile . En effet
PostgreSQL mesure la corrélation statistique entre l'ordre physique des
lignes et l'ordre logique des valeurs de la colonne. Si cette corrélation
vaut 1 alors cela signifie que la table est triée selon l'ordre des
valeurs de la colonne. Si la corrélation est à -1 cela signifie que la
table est triée dans l'ordre inverse des valeurs de la colonne. Si la
valeur est proche de 0, il n'y a aucune corrélation entre l'ordre des
valeurs et l'organisation de données sur le disque.
Voici comment obtenir le coefficient de corrélation pour une colonne
ANALYZE ma_table;
SELECT p.correlation
FROM pg_stats p
WHERE p.tablename = 'ma_table' AND p.attname = 'ma_colonne';A partir de cette information on peut construire une vue pour afficher
le taux de corrélation des tables clusterisées de la base courante.
Par exemple :
CREATE OR REPLACE VIEW v_cluster_correlation AS
SELECT s.relname as relation,
s.indexrelname as index,
a.attname as column,
p.correlation as correlation
FROM pg_stats p, pg_stat_user_indexes s, pg_index i, pg_attribute a
WHERE i.indisclustered
AND s.indexrelid = i.indexrelid
AND p.tablename = s.relname
AND a.attnum = ANY (indkey)
AND a.attrelid = i.indrelid
AND p.attname = a.attname
ORDER BY s.relname, s.indexrelname
;Ce qui donne :
test=# CLUSTER idx_id ON t1;
CLUSTER
test=# insert into t1 values('1');
INSERT 0 1
test=# insert into t1 values('42');
INSERT 0 1
test=# insert into t1 values('58');
INSERT 0 1
test=# insert into t1 values('5');
INSERT 0 1
test=#
test=# ANALYZE;
ANALYZE
test=# SELECT * FROM v_cluster_correlation;
relation | index | column | correlation
----------+--------+--------+-------------
t1 | idx_id | id | 0.766667
(1 ligne)
test=# CLUSTER t1;
CLUSTER
test=# analyze;
ANALYZE
test=# select * from v_cluster_correlation;
relation | index | column | correlation
----------+--------+--------+-------------
t1 | idx_id | id | 1
(1 ligne)#146 Re : Réplication » La réplication en 8.5: Un aperçu ? » 12/06/2009 00:44:23
oui je parle du log shipping, qui utilise scp pour copier les logs binaires, donc c'est quand meme externe a postgresql je trouve, postgresql n'a pas vraiment de controle la dessus,
Je comprend pas cette phrase. PostgreSQL n'a pas n'ont plus le controle sur la pile TCP/IP et sur le driver de la carte ethernet ![]()
C'est pareil pour MySQL. La différence c'est que MySQL te cache cette complexité et ne te laisse pas le choix.
a aucun moment le master peut connaitre le status du slave par exemple comme l'on pourrait le faire dans mysql avec "SHOW PROCESSLIST" ( par exemple: Has sent all binlog to slave; waiting for binlog to be updated ),
C'est faux. Il est possible avec la Warm Standby de savoir précisément quel est le dernier journal de transcation envoyé et déduire si l'esclave est désynchronisé. C'est plus rustique que ce que tu décris mais ça sera amélioré avec le Hot Standby
on a pas non plus autant d'informations sur le slave, par exemple le slave ne connais pas l'adresse du master ou d'autres informations utiles (SHOW SLAVE STATUS),
Regarde du coté de walmanager, un projet développé par Skype.
et a la moindre coupure du master, il faut recopier toute la base de donnée il me semble...
Là encore c'est faux :-) Le seul cas ou tu dois reconstuire entièrement ta base c'est lorsque master a subit un crash et que tu demandes à l'esclave de prendre le relai. En gros une fois que tu as transformé l'esclave en maitre, tu ne peux plus le retransformer en esclave. ça s'appelle le FAIL BACK, je suis pas certain que MySQL soit capable de le faire non plus.
bref c'est vraiment bidouille bidouille je trouve par apport a Mysql
Je vois déjà le troll arriver. En terme de bidouillage, je suis pas sur que le projet MySQL ait des leçons à donner :-)
Pour donner juste deux exemples :
* Il y a des bugs connus depuis MySQL 5.0 qui n'ont pas été corrigés dans la 5.1. C'est le fondateur de MySQL qui le dit : http://monty-says.blogspot.com/2008/11/ … eased.html
* La doc de la 5.1 n'est pas traduite en français. Je trouve ça relativement décevant pour un projet qui a le prétention d'être le SGBD le plus populaire.
bref j'ai l'impression qu'on verra jamais une réplication aussi bien foutu que sur mysql, et c'est vraiment dommage, car pour moi c'est LE truc qui me bloque sur Postgresql (même si pour le moment je n'ai pas encore besoin d'utiliser la réplication)
Attention à ne pas tout mélanger. Derrière le mot "réplication" on peut mettre énormément de concepts différents : Haute-disponibité ou répartition de charge, réplication synchrone ou asynchrone, symétrique ou asymétrique.
En l'occurence, le Warm Standby est une technique simple pour mettre en place un serveur de secours et garantir une reprise rapide en cas de panne. Cela n'a pas d'autre prétention. Le Hot Standby apportera des avancées intéressantes ( synchronicité, esclave accessible en lecture) et dans ce cas là les noeuds auront "conscience" de la présence des autres noeuds mais cela restera une solution limitée sur certains aspects, le fail back et la granularité notamment.
Pour avoir, plus de finesse il faut se tourner vers des outils externes (Slony, bucardo) qui ajoutent de la complexité.
Il me parait également important de préciser quel moteur on utilise avec MySQL : les différences entre MyISAM et InnoDB ne sont pas anodines. Par exemple, je serais curieux de connaitre les perfs d'un cluster de réplication avec MYSQL/InnoDB
#147 Offres » Recrutement d'administrateurs PostgreSQL » 04/06/2009 12:39:13
- daamien
- Réponses : 0
Bonjour,
Dalibo recherche des administratrices et des administrateurs PostgreSQL.
Merci de faire suivre à toutes personnes qui pourraient être intéressées
par l'offre ci-dessous.
==== Offre ====
=== Poste ===
Nous sommes à la recherche de DBA PostgreSQL. Plusieurs postes sont à
pourvoir très rapidement. Les principales missions seront :
* Installer et administrer des serveurs PostgreSQL, sur site et à
distance;
* Participer à notre plate-forme support PostgreSQL (traitements
d'incidents, maintenance pro-active);
* Prendre en charge des projets complexes basés sur PostgreSQL;
* Réaliser des missions d'optimisation;
* Participer aux projets de Recherche & Développement sur les outils
Open-Source développés par Dalibo (pgSnap, slony_ctl, etc.);
* S'investir au sein de la communauté PostgreSQL.
=== Type de contrat ===
Nous proposons des postes en CDI exclusivement avec une période d'essai
de 3 mois renouvelables une seule fois.
Les locaux techniques de la société sont situés à Paris (proche Ligne 4,
Métro Alésia). Le télé-travail est possible et encouragé.
Des déplacements sont à prévoir ( principalement en Région parisienne ,
en province et parfois en Europe )
Chaque salarié de la société peut consacrer une partie de son temps de
travail (jusqu'à 20 %) à un projet Open-Source de la communauté
PostgreSQL : ce qui inclut la traduction, le développement, l'aide aux
utilisateurs, la présence dans des salons Open-Source, etc.
La rémunération totale proposée se situe entre 42 et 44 k€/an
=== Profil Recherché ===
* H/F Ingénieurs, bac +4 ou équivalent (Postes Consultants);
* Maîtrise indispensable d'Unix (linux en particulier);
* Expérience concrète d'administration d'environnements de
production utilisant PostgreSQL;
* Connaissances requises: SQL, PL/PGSQL, bash
* Plus significatifs :
* Connaissance d'un ou plusieurs SGBD propriétaires;
* Connaissance du C (et techniques de patchs);
* Connaissance de Python et/ou Perl;
* Connaissance de Java (tomcat/hibernate)
* Participation bénévole à des évènements, organisations ou
projets Open-Source;
==== Société ====
Dalibo est le spécialiste français de PostgreSQL, le SGBD Open-Source de
référence.
Nous offrons à nos clients un panel complet de services, organisés en
trois pôles :
* Audit (design, optimisation, suivi de projets) ;
* Formation (administrateur, développeur, administrateur avancé) ;
* Support & infogérance.
Dalibo existe depuis 2005. Nos clients sont principalement des grands
comptes et des administrations.
Pour plus d'informations : www.dalibo.com et www.dalibo.org
==== Candidatures ====
Merci d'adresser votre lettre de motivation, accompagnée de votre CV à
recrutement@dalibo.com
#148 Re : Général » Modelisation » 03/06/2009 00:17:43
#149 Re : Général » Problème retour NULL au lieu de 0 » 01/06/2009 17:59:00
L'aggrégat SUM retourne NULL si aucune ligne n'est sélectionnée.
La fonction COALESCE est ton amie.
Dans ton cas :
...
SELECT p.Id_produit, COALESCE(SUM(pp.qte),0)
...http://docs.postgresql.fr/8.4/functions-aggregate.html
http://docs.postgresql.fr/8.4/functions … ional.html
#150 Re : Général » Recherche plein texte et accents » 28/05/2009 12:44:01
Bonjour,
Je te conseille de rapporter ces différents problèmes directement aux développeurs de PostgreSQL :
http://www.postgresql.org/support/submitbug
http://www.postgresql.org/docs/current/ … rting.html