destroydb

Nom

destroydb — Supprime une base Postgres existante
destroydb [ dbname ]
destroydb [ -h host ] [ -p port ]
    [ -i ] [ dbname ]
  

Entrées

-h host

Spécifie le nom d'hôte de la machine sur laquelle le postmaster tourne. Par défaut utilise un socket du domaine local Unix plutôt qy'une connexion IP.

-p port

Spécifie le port Internet TCP/IP ou le socket local Unix sur lequel le postmaster est en attente de connections. Le port par défaut est 5432, ou la valeur de la variable d'environnement PGPORT si elle est placée.

-i

Lance le mode interactif. Demande confirmation avant de détruire une base.

dbname

Spécifie le nom de la base à détruire. La base doit être une base Postgres existante sur cette installation. dbname est, par défaut, la valeur de la variable d'environnement USER.

Sorties

destroydb effacera les fichiers des zones de données PGDATA/dbname/ dans une base existante.

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'? destroydb: database destroy failed on dbname.

destroydb ne peut pas se lier au processus postmaster spécifié sur l'hôte et le port. Si vous voyez ce message assurez vous que le postmaster tourne sur l'hôte approprié et que vous avez spécifié le bon port. Si votre site utilise un système d'authentification, assurez vous que vous avez obtenu les bons paramètres d'authentification.

Connection to database 'template1' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow' destroydb: database destroy failed on dbname.

vous ne devez pas avoir une entrée valide dans pg_shadow et n'avez pas le droit d'accéder à Postgres. Contactez votre administrateur Postgres.

ERROR: user 'username' is not allowed to create/destroy databases destroydb: database destroy failed on dbname.

Vous n'avez pas les permissions pour détruire (ou créer) des bases. Contactez votre administrateur du site Postgres.

ERROR: destroydb: database 'dbname' does not exist. destroydb: database destroy failed on dbname.

La base à détruire n'a pas d'entrée dans la classe pg_database.

ERROR: destroydb: database 'dbname' is not owned by you. destroydb: database destroy failed on dbname.

Vous n'êtes pas l'administrateur (DBA) de la base spécifiée.

destroydb: database destroy failed on dbname.

Une erreur interne est survenue dans psql ou dans le serveur. Assurez vous que l'administrateur du site a correctement installé Postgres et initialisé le site avec initdb.

Note

destroydb lance en interne DESTROY DATABASE depuis psql lorsqu'il est connecté à la base template1.

Description

destroydb détruit une base Postgres existante. La personne qui exécute cette commande doit être l'administrateur de la base, ou DBA, ou doit être le super-utilisateur Postgres. Le programme tourne en silence; aucun message de confirmation ne sera renvoyé. Une fois la base détruite, le prompt du shell Unix réapparaîtra.

Toutes les références à la base sont effacées, y compris le répertoire contenant cette base et ses fichiers associés.

destroydb est un script shell qui invoque psql. Désormais, un processus postmaster doit tourner sur le serveur hôte avant que destroydb soit exécuté. Les variables d'environnement PGOPTION et PGREALM seront passées à psql et il sera procédé comme décrit dans psql.

Utilisation

Pour détruire la base demo en utilisant le postmaster sur l'hôte local, port 5432 :
    destroydb demo
   

Pour détruire la base demo en utilisant le postmaster sur l'hôte eden, port 5000 :
    destroydb -p 5000 -h eden demo