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 Re : PHP » [Résolu]Pas de connexion apache php postgresql » 24/01/2014 11:14:12

PDO n'est pas à proprement parler un nouveau langage à apprendre.
C'est du PHP hun smile C'est juste la méthode de connexion (entre autres) qui va utiliser un système plus haut niveau donc encapsuler (PDO).
En gros, c'est pour faire de l'objet facilement, vous inquietez pas du tout, il existe de supers tutos sur comment apprivoiser PDO smile

#2 Re : PL/pgSQL » [RESOLU] SELECT WHERE avec différents critères » 07/01/2014 15:14:11

Je sais pas si j'ai bien compris le problème, mais tu peux éventuellement soumettre un bloc pgSQL. Ce bloc est en fait une série d'instruction (requête) où l'on peut utiliser des variables. Ces variables peuvent être renseignées par la premiere requetes et être utilisée dans une seconde, etc...
Je pense que c'est ce que vous voulez faire non ?
En fonction de la réponse de la première requete, la seconde devra être soit ça soit ça ? Penser alors aux variables. Vous pourrez alors tester le variables (un switch par exemple, ou des if... ) et lancer une seconde requete.

Dites moi ce que vous en pensez smile

#3 Re : Général » Stratégie de back-up logique » 06/06/2013 14:09:53

Hum, tout à fait. A moins que je me trompe ?

#4 Re : Général » Stratégie de back-up logique » 06/06/2013 12:28:24

Les deux. J'ai quelques bases dédiés. J'ai pas de cluster dédié par contre, chaque cluster contient plusieurs bases. Et un serveur contient plusieurs cluster en générale.

#5 Re : Général » Stratégie de back-up logique » 06/06/2013 11:11:59

Mais par exemple. Une base crash sur un cluster A, qui est heureusement backupé de façon à avoir un dump de la base d'un coté, et un pg_dumpAll de la structure du cluster A.
Si je lance le pg_restore de la structure sur un autre cluster, il va aussi me créé tout les roles et tablespaces relatives à plein de base de données existant sur le premier cluster... Meme si je veux la structure que d'une seule base de donnée.
Il n'existe pas de moyen plus propre selon vous que de trifouillez dedans ? (Ou importez des roles et tablespaces en trop) ?
Ce cas là vous est surement arrivé non ?

Merci à tous pour vos réponses en tout cas... Cette communauté est vraiment là pour aider les nouveaux et c'est un vrai point fort.

#6 Re : Général » Stratégie de back-up logique » 06/06/2013 07:54:05

Merci beaucoup, je commence à y voir plus clair !

Dans le cas 2, si mon cluster n'est pas si vide que sa et contient déjà des roles & autres, dont le rôles postgresql. Lancer le script dumpAll va lui provoquer des erreurs Already exists de partout non ? Si c'est un script SQL pur, il y a bien moyen de taper dedans pour insérer uniquement ce que je souhaite, c'est sa ?

#7 Re : Général » Stratégie de back-up logique » 05/06/2013 16:04:33

Alors,
C'est vrai que j'ai oublié un peu le contexte. On parle ici de bases < 200 go donc assez petites. La moyenne tournerait autour des 30/50go.
Je parle d'un delete de base car c'est le plus critique. On peut alors plutot pensé à un ... Corruption d'block, truncate applicatif, souhait d'un retour sur une ancienne tempo... (Je parle pas ici de PITR, plus tard avec le physique).

Non un cluster... C'est un cluster quoi x) Je comprends pas trop ce que vous demandez.
En gros sur mon serveur, j'ai deux ou trois clusters  A, B, et C qui contiennent chacun plusieurs Bases de Données. J'ai plusieurs clusters pour une hiérarchisation des niveaux de services (Standard, premium... etc)
Je met de coté le "Physique" car j'ai plus de mal à visualiser comment faire ma restauration logique, la physique, je l'ai déja testé et cela à été concluant, je l'a déployerais juste après.

#8 Général » Stratégie de back-up logique » 05/06/2013 14:18:06

barthymus
Réponses : 13

Bonjour à tous !

Voilà j'aimerais avoir vos avis sur une question qui me dérange depuis quelques jours... Comment dois je backupé, et surtout, comment je restaure ?
J'ai beaucoup cherché sur internet, et j'ai rien trouvé de très... Concret quoi. Chacun présentent sa solution(surement top) mais ne racontent que peu comment ils restaurent...

J'ai repris la solution suivante pour mes backups (Pour un cluster C contenant BD1 et BD2)
- pg_dump de BD1
- pg_dump de BD2
- pg_dumpall -g C ( pour sauvegarder les roles... Les users...)

Maintenant... Restauration dans le cas suivant :
1 ) -Oups, j'ai delete BD1, je veux le remettre dans C sad
Je lance pg_restore ? Je dois créé la base non ? à vide ?

2 ) -Je veux plutot mettre BD1 dans le cluster D (vide)
Je dois importer les roles avant non ? Mais comment ?
Et les tablespaces enregistrer dans le dumpAll contiennent des chemins physique sur le premier cluster... En gros, mes tablespaces vont pas passés...
Et ensuite importer BD1 ?

Bref je suis un peu perdu. J'ai peut etre pas vu le super tutoriel magique qui préconise et qui explique the best way pour faire ceci...
(Et je suis mal car on parle uniquement de save logique ici... Quand j'en serais au physique, cela risque d'etre un autre problème)

Merci à tous ceux qui pourront m'accorder un peu de temps,
Anthony

#9 Re : Général » Suppression d'une base qui ne se laisse pas faire ! » 02/05/2013 10:31:20

Bonjour . Merci encore pour votre aide
Hassouna, je pense pas que ta question puisse trouver réponse ici smile Faudrait mieux poster sur un fil propre à toi.

Pour ce qui est de la requete :

 postgres=# SELECT datname,encode(datname::bytea,'hex') FROM pg_database ;
  datname  |       encode
-----------+--------------------
 template1 | 74656d706c61746531
 template0 | 74656d706c61746530
 postgres  | 706f737467726573
 Banane    | 42616e616e65
 B1        | 4231
 B2        | 4232
 fg50op02  | 666735306f703032
 fg50ot01  | 666735306f743031

Est ce que sa aide ?

#10 Re : Général » Suppression d'une base qui ne se laisse pas faire ! » 26/04/2013 15:23:12

Alors... Merci pour votre aide déjà.
Vraiment corriace celle là !

postgres=# drop database (Utilisation de l'autocompletion)
"B1"       "B2"       "Banane"  
postgres=# drop database "Banane" ; 
ERROR:  database "Banane" does not exist

hmm

#12 Re : Général » Suppression d'une base qui ne se laisse pas faire ! » 25/04/2013 08:12:40

postgres@pgrt001(newDB): dropdb \"Banane\"
dropdb: database removal failed: ERROR:  database ""Banane"" does not exist
postgres@pgrt001(newDB): dropdb \'Banane\'
dropdb: database removal failed: ERROR:  database "'Banane'" does not exist

hmm Merci de ton aide mais sans succès là

#13 Général » Suppression d'une base qui ne se laisse pas faire ! » 24/04/2013 17:21:22

barthymus
Réponses : 12

Bonjour ! smile

Voilà je me suis rendu compte que j'avais une petite base (serveur de test) qui ne veut pas se laisser suprimer, ni backupé d'ailleurs.
Je lance dropdb et voilà le résultat.

 dropdb Banane
dropdb: database removal failed: ERROR:  database "Banane" does not exist

Le problème, c'est que quand je liste mes bases...

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 Banane    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

Une idée ?
J'ai tenté les quotes, doubles quotes... hmm Sans succès

Merci à tous pour votre aide smile

#14 Re : PL/pgSQL » problème de requêtes imbriquées » 07/02/2013 13:26:38

Ben... dans ton from, tu as pas de colonnes the_geom donc... Essaye plutot :
select the_geom  from (select cname as the_geom from classofgeometry where eat='-') ;
Et encore, je suis pas fan des requete imbriqués donc je peux me tromper smile

Edit : Enfait, la requete veut strictement rien dire... je l'a laisse au cas ou mais je pense qu'elle est strictement fausse.
Peux tu expliquer plutot ce que tu souhaite faire avec cette requete imbriqué ?

#15 Re : PL/pgSQL » Recuperation d'un record à day -1 » 05/02/2013 11:15:24

J'ai pensé, au pire, au bloc pl-sql ouais avec un unique Fetch smile
Merci je vous tiens au courant big_smile

#16 Re : PL/pgSQL » Recuperation d'un record à day -1 » 05/02/2013 10:46:34

Je travaille sur du multi plateforme et je ne pense pas que Limit 1 serait possible pour tout les SGBD, il me semblait que c'était pas dans les normes SQL de bases ?
Mais merci.
J'ai pensé à un round, ou a une approximation mais je trouve toujours plus de résultats hmm

#18 PL/pgSQL » Recuperation d'un record à day -1 » 01/02/2013 17:18:27

barthymus
Réponses : 5

Bonjour,

Voila j'ai une table d'enregistrement qui est remplis toutes heures.
Ces enregistrements sont du type : NAME | BLABLA | TIME
Je voudrais, pour le dernier enregistremen d'un nom donné, chercher l'enregistrement qui se trouve à plus ou moins 24h de moins. ( et 72h mais bon sa en découlera)
Mes enregistrement se font toutes les heures mais suivant l'activités du serveur, l'heure et les minutes exactes peuvent changés
Je pourrais faire un truc genre :

 
Cursor C_fileS IS SELECT * from TABLE WHERE NAME = v_nameFS  AND DATE -1 < DATE() ORDER BY DATE;

Mais j'obtiendrais bien trop de résultat, inutillement.

Auriez vous une idée de comment obtenir l'unique résultat le plus proche  ?
Merci d'avance !

#19 Re : Général » Stratégie de back-up. » 29/01/2013 17:14:19

Donc en faites, si on fait les choses proprement, il faut séparer les notions back up et réplication ?
En gros, je met en place sur le serveur à backupé les notions de PITR et pg_dump...
Puis j'installe un serveur de standby pour la réplication ?
Mais le PITR et la réplication se basent tout deux sur les Wals non ? Ils ne va pas avoir de conflits ?

Avec ceux deux système conjoints, j'aurais à la fois : Reprise a un temps donné d'une image précise et Restaure en cas de crash non ?
J'ai lu qu'il existait des outils qui permettait de faire certaines actions de backup mais existe t'il un outil qui réunirait a la fois PITR et Replication ?
Qu'en ai t'il de Slony, la réplication Maitre esclave qu'il propose est elle interessante sur le plan d'une logique PITR ?

Merci beaucoup !

#20 Général » Stratégie de back-up. » 29/01/2013 14:52:43

barthymus
Réponses : 3

Bonjour à tous !

Je suis actuellement en train d'étudier la mise en place de base PostgreSQL sur nos serveurs pour remplacer certaines bases Oracle.
Ces bases necessiteront la même qualité de backupage qu'offre par exemple Oracle.
C'est à dire... La possibilité de revenir un moment donnée, mais également en cas de crash, d'un basculement... etc...

En gros, on va répondre, PITR et mode Standby. Mais j'ai un peu du mal à voir comment conjointement ces deux systêmes fonctionnent. J'ai vraiment du mal à trouver une vraie procédure complète à suivre. De plus, entre les différents types de réplications, lesquels s'adaptent à un modele PITR ?

Pour ceux qui utilisent au quotidien un système de backup, qu'utilisez vous ?

Merci beaucoup pour vos infos !

#21 Re : Général » Connexion PSQL » 28/01/2013 16:21:25

Ouais pardon, je travaille que sur du Unix donc j'étais dans mon truc.
C'est étrange, la solution de facilité serait de dire que ouais, sa vient de mc Afee mais bon. Si vous avez pas moyen d'y toucher pour voir...
Au niveau des logs du serveurs, vous avez quelques chose ? (Avec le parametre #log_connections a on )

#22 Re : Général » Connexion PSQL » 28/01/2013 16:05:43

Je pense que c'est l'adresse que tu donnes qui n'est pas bonne.
Dans la doc, il marque " host    all         all         127.0.0.1/32          trust   " Il manquerait alors le bon masque à ton adresse.
Teste au pire :"  host    all             all             0.0.0.0    0.0.0.0            trust" pour voir (A ne pas laisser, important pour la sécurité)

Un pg_ctl restart et tu peux tester

Pour la doc :
http://www.postgresql.org/docs/8.3/stat … -conf.html

#24 Re : Général » Solutions Backup & Monitoring » 03/01/2013 17:05:57

Merci pour cet avis, je prends note !
Je viens d'installer la version 2.19 de check_postgres.
Tout à l'air de bien fonctionner mais je me demande si c'est à jour car, meme soucis que dans PhpPgAdmin, il me sort un problème lié à une colonne disparue (spclocation)

postgres@pgrt001(pgrtInst): ./check_postgres.pl --action disk_space
ERROR: ERROR:  column "spclocation" does not exist
LINE 6: SELECT 'T' AS syn, spcname AS nn, spclocation AS val

Il y a que sa qui ne fonctionne pas pour le moment ? Est ce un problème que je dois faire remonter ?

Merci !

#25 phpPgAdmin » Incompatibilité 9.2 et PhpPgAdmin 5.0.4 » 03/01/2013 17:01:38

barthymus
Réponses : 3

Bonjour,

J'ai installé récemment phpPgAdmin 5.0.4 sur un serveur lié à des bases PG 9.2.1.
Le soucis est qu'apparament, les développeurs ont supprimer une colonne 'spclocation' ce qui provoque quelques soucis dans phpPgAdmin :

 Erreur SQL :

ERROR:  column "procpid" does not exist
LINE 3:     WHERE datname='base1' ORDER BY usename, procpid
                                                    ^
Dans l'instruction :

				SELECT * FROM pg_catalog.pg_stat_activity
				WHERE datname='base1' ORDER BY usename, procpid 

et

 
Erreur SQL :

ERROR:  column "spclocation" does not exist
LINE 1: ...pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocatio...
                                                             ^
Dans l'instruction :

SELECT spcname, pg_catalog.pg_get_userbyid(spcowner) AS spcowner, spclocation,
                    (SELECT description FROM pg_catalog.pg_shdescription pd WHERE pg_tablespace.oid=pd.objoid) AS spccomment
					FROM pg_catalog.pg_tablespace WHERE spcname NOT LIKE $$pg\_%$$ ORDER BY spcname

J'ai rien trouvé de vraiment concluant dessus. Je voulais savoir si vous aviez ce problème sur vos propres configurations ?

Merci ! smile

Pied de page des forums

Propulsé par FluxBB