Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  GUI  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Type de données
Référence des instructions
Référence des fonctions
Les premiers pas
DBeaver
Navicat
Préface
Notes légal
Dictionnaire
Recherche

Les premiers pas

Dans le jargon des bases de données, PostgreSQL utilise un modèle client/serveur. Une session PostgreSQL se compose des processus (programmes) de coopération suivants :

Comme c'est généralement le cas pour les applications client/serveur, le client et le serveur peuvent se trouver sur des hôtes différents. Dans ce cas, ils communiquent via une connexion réseau TCP/IP. Vous devez garder cela à l'esprit, car les fichiers accessibles sur une machine cliente peuvent ne pas être accessibles (ou peuvent uniquement être accessibles en utilisant un nom de fichier différent) sur la machine du serveur de base de données.

Le serveur PostgreSQL peut gérer plusieurs connexions simultanées à partir de clients. Pour y parvenir, il démarre, en état «forks», un nouveau processus pour chaque connexion. À partir de ce moment, le client et le nouveau processus serveur communiquent sans intervention du processus postgres d'origine. Ainsi, le processus serveur superviseur est toujours en cours d'exécution, en attente de connexions client, tandis que les processus clients et serveurs associés vont et viennent. (Tout cela est bien entendu invisible pour l'utilisateur.)

Création d'une base de données

Le premier test pour voir si vous pouvez accéder au serveur de base de données est d'essayer de créer une base de données. Un serveur PostgreSQL en cours d'exécution peut gérer de nombreuses bases de données. En règle générale, une base de données distincte est utilisée pour chaque projet ou pour chaque utilisateur. Pour créer une nouvelle base de données, dans cet exemple nommé mabd, vous utilisez la commande suivante :

createdb mabd

Si cela ne produit aucune réponse, cette étape a réussi sinon vous verrez un message semblable à :

createdb: command not found

alors PostgreSQL n'a pas été installé correctement. Soit il n'a pas été installé du tout, soit le chemin de recherche de votre interpréteur de commande n'a pas été défini pour l'inclure. Essayez plutôt d'appeler la commande avec un chemin absolu :

/usr/local/pgsql/bin/createdb mabd

Une autre réponse pourrait être celle-ci :

createdb: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?

Cela signifie que le serveur n'a pas été démarré ou qu'il n'écoute pas là où createdb s'attend à le contacter. Une autre réponse pourrait être celle-ci :

createdb: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "gladir" does not exist

où votre propre nom de connexion est mentionné. Cela se produira si l'administrateur n'a pas créé de compte utilisateur PostgreSQL pour vous. (Les comptes d'utilisateurs PostgreSQL sont distincts des comptes d'utilisateurs du système d'exploitation.) Vous devrez devenir l'utilisateur du système d'exploitation sous lequel PostgreSQL a été installé (généralement postgres) pour créer le premier compte utilisateur. Il se peut également que vous ayez reçu un nom d'utilisateur PostgreSQL différent du nom d'utilisateur de votre système d'exploitation ; dans ce cas, vous devez utiliser le paramètre -U ou définir la variable d'environnement PGUSER pour spécifier votre nom d'utilisateur PostgreSQL.

Si vous avez un compte utilisateur mais qu'il n'a pas les privilèges requis pour créer une base de données, vous verrez ce qui suit :

createdb: error: database creation failed: ERROR: permission denied to create database

Tous les utilisateurs n'ont pas l'autorisation de créer de nouvelles bases de données. Si PostgreSQL refuse de créer des bases de données pour vous, l'administrateur du site doit vous accorder l'autorisation de créer des bases de données. Consultez l'administrateur de votre site si cela se produit. Si vous avez installé vous-même PostgreSQL, vous devez vous connecter sous le compte d'utilisateur sous lequel vous avez démarré le serveur.

Vous pouvez également créer des bases de données avec d'autres noms. Le PostgreSQL vous permet de créer n'importe quel nombre de bases de données sur un site donné. Les noms de base de données doivent avoir un premier caractère alphabétique et sont limités à 63 octets. Un choix pratique consiste à créer une base de données avec le même nom que votre nom d'utilisateur actuel. De nombreux outils supposent que le nom de la base de données est le nom par défaut, ce qui peut vous éviter de taper. Pour créer cette base de données, tapez simplement :

createdb

Si vous ne souhaitez plus utiliser votre base de données, vous pouvez la supprimer. Par exemple, si vous êtes le propriétaire (créateur) de la base de données mabd, vous pouvez la détruire à l'aide de la commande suivante :

dropdb mabd

(Pour cette commande, le nom de la base de données n'est pas par défaut le nom du compte utilisateur. Vous devez toujours le spécifier.) Cette action supprime physiquement tous les fichiers associés à la base de données et ne peut pas être annulée, donc cela ne doit être fait qu'avec beaucoup de prévoyance.

Accéder à une base de données

Une fois que vous avez créé une base de données, vous pouvez y accéder en :

Vous voudrez probablement démarrer psql pour essayer les exemples. Il peut être activé pour la base de données mabd en tapant la commande :

psql mabd

Si vous ne fournissez pas le nom de la base de données, il sera par défaut le nom de votre compte utilisateur. Vous avez déjà découvert ce schéma dans la section précédente en utilisant createdb. Dans psql, vous serez accueilli avec le message suivant :

psql (14.0)
Type "help" for help.

mabd=>

La dernière ligne peut aussi être :

mabd=#

Cela signifierait que vous êtes un superutilisateur de la base de données, ce qui est probablement le cas si vous avez installé vous-même l'instance PostgreSQL. Être un superutilisateur signifie que vous n'êtes pas soumis à des contrôles d'accès. Les diagnostics de createdb et psql sont similaires, et si le premier a fonctionné, le dernier devrait également fonctionner. La dernière ligne affichée par psql est le prompt, et elle indique que psql vous écoute et que vous pouvez taper des requêtes SQL dans un espace de travail géré par psql. Essayez la commande suivante :

SELECT version();

vous obtiendrez un résultat ressemblant à ceci :

version
-------------------------------------------------------------------?-----------------------
PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit

Exécute la commande suivante pour voir la date courante :

SELECT current_date;

vous obtiendrez un résultat ressemblant à ceci :

date
------------
2019-01-07
(1 row)

Exécute la commande suivante pour tester la réponse à de simple expression :

SELECT 2 + 2;

vous obtiendrez un résultat ressemblant à ceci :

?column?
----------
        4
(1 row)

Le programme psql possède un certain nombre de commandes internes n'étant pas des commandes SQL. Ils commencent par la barre oblique inverse, "\". Par exemple, vous pouvez obtenir de l'aide sur la syntaxe de diverses commandes SQL de PostgreSQL en tapant :

mabd=> \h

Pour sortir de psql, tapez :

mabd=> \q

et psql se fermera et vous ramènera à votre interpréteur de commande. (Pour plus de commandes internes, tapez \? au prompt de psql.) Les fonctionnalités complètes de psql sont documentées dans psql.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Dimanche, le 27 décembre 2015