Créer une base

Le premier test pour vérifier si vous avez accès au serveur est d'essayer de créer une base. Un serveur Postgres peut gérer plusieurs bases.

Il est possible que votre administrateur ait déja créé une base pour votre usage. Il devrait vous avoir donné le nom de celle-ci. Dans ce cas vous pouvez passer cette étape et aller à la section suivante.

Pour créer une nouvelle base nommée mydb, utilisez la commande suivante :

$ createdb mydb
Ceci doit renvoyer la réponse suivante :
CREATE DATABASE
Si c'est OK, passez à la section suivante.

Si vous voyez un message similaire à :

createdb: command not found
alors PostgreSQL n'est pas installé correctement. Soit il n'est pas installé du tout, soit le chemin n'est pas correctement indiqué. Essayez en indiquant le chemin absolu, par exemple :
$ /usr/local/pgsql/bin/createdb mydb
Le chemin de votre site peut être différent. Voyez avec votre admlinistrateur, ou vérifiez les instructions d'installation.

Une autre réponse peut être :

psql: could not connect to server: Connection refused
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
createdb: database creation failed
Ceci indique que le serveur n'est pas lancé, ou qu'il n'est pas lancé où createdb l'attend. À nouveau vérifiez l'installation.

Si vous n'avez pas les privilèges requis pour créer la base, vous verrez apparaître :

ERROR:  CREATE DATABASE: permission denied
createdb: database creation failed
N'importe quel utilisateur n'a pas l'autorisation de créer de nouvelles bases. Si Postgres refuse de créer de nouvelles bases pour vous, contacter l'administrateur afin qu'il vous accorde les permissions nécessaires. Si vous avez installé vous même PostgreSQL loguez vous sur le compte utilisateur qui a démarré le serveur. [1]

Vous pouvez aussi créer des bases avec d'autres noms. Postgres vous permet de créer plusieurs bases sur un site donné. Les noms de base doivent avoir un caractère alphabétique comme premier caractère et sont limités à 31 caractères de longueur. Un choix pratique est de créer une base avec le même nom que votre nom d'utilisateur courant. Plusieurs outils supposent que le nom est celui par défaut qui est utilisé. Pour créer cette base tapez simplement :

$ createdb

Si vous ne voulez plus utiliser votre base, vous pouvez la détruire. Par exemple, sous vous êtes le créateur (propriétaire) de la base mydb, vous pouvez la supprimer en utilisant la commande suivante :

$ dropdb mydb
(Pour cette commande, le nom de la base ne doit pas être par défaut la nom d'utilisateur). Cette action supprime physiquement les fichiers associés à la base et aucun retour en arrière n'est possible !

Notes

[1]

Explication : les noms d'utilisateurs Postgres sont séparés des comptes utilisateurs du système. Si vous vous connectez à une base, vous pouvez choisir le nom que vous utiliserez; si ce n'est pas le cas, il utilisera votre nom d'utilisateur système par défaut. Vous pouvez aussi spécifier l'option -U pour sélectionner un nom d'utilisateur Postgres et vous loguer avec.