Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2003, 11h45   #1
liv
Futur Membre du Club
 
Inscription : novembre 2003
Messages : 124
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 124
Points : 15
Points : 15
Par défaut commande vacuum

Est ce que quelqu'un sait comment lancer la commande vacuum?
Je sais le faire via un outils comme pgadmin mais sinon je ne sais pas.

Infos:
J'ai un postgre sous windows et donc via cigwin.
Le langage web côté serveur c'est php.
liv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2003, 13h48   #2
Membre confirmé
 
Inscription : octobre 2003
Messages : 266
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 266
Points : 287
Points : 287
Deux options :

- l'utilitaire vacuumdb, qui est livré avec postgresql, Avec celui-ci, tu peux réindexer toutes tes bases d'un coup,

- exécuter la commande sql "VACUUM", soit par le shell (ou même pgadmin), soit par tes scripts php. C'est une commande tout à fait normal comme SELECT ou CREATE TABLE. Tu indiques simplement le nom de ta table. Tu peux aussi mettre "FULL" comme paramètre pour réindexer toutes les tables de la base à laquelle tu es connecté.
Krapulax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2003, 15h21   #3
liv
Futur Membre du Club
 
Inscription : novembre 2003
Messages : 124
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 124
Points : 15
Points : 15
C'est bien ce qu'il me semblait concernant la requête et j'avais essayé.
Je fais un "vacuum toto" par exemple en sachant que toto est le nom d'une table et cela me renvoie une erreur php.

"Fatal error: Call to a member function on a non-object in C:\Program Files\EasyPHP\php\pear\DB\common.php on line 1150"

Je ne comprends pas trop...
liv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2003, 15h34   #4
Membre confirmé
 
Inscription : octobre 2003
Messages : 266
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 266
Points : 287
Points : 287
En faisant ceci, cela devrait marcher :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once("DB.php");
$dbType = "pgsql";
$dbUser = "user";
$dbPass = "password";
$dbServer = "localhost";
$dbName = "pgsql";
 
$db = DB::connect("$dbType://$dbUser:$dbPass@$dbServer/$dbName");
 
IF(DB::isError($db))
{
    die("Couldn't connect to database");
} else {
    $uResult = $db->query("vacuum matable;");
    $db->disconnect();
}
?>
Je n'ai pas Pear d'installé, je ne puis donc testé.

De toute façon, je préfère la librairie ADODB
Krapulax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2003, 15h38   #5
liv
Futur Membre du Club
 
Inscription : novembre 2003
Messages : 124
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 124
Points : 15
Points : 15
Je te remercie ça marche nikel!
liv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web