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

COPY

Copie
PostgreSQL

Syntaxe

COPY table_name [ ( column_name [, ...] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [, ...] ) ]
COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
TO { 'filename' | PROGRAM 'command' | STDOUT }
[ [ WITH ] ( option [, ...] ) ]

où l'option peut être l'une des suivantes :

FORMAT format_name
OIDS [ boolean ]
FREEZE [ boolean ]
DELIMITER 'delimiter_character'
NULL 'null_string'
HEADER [ boolean ]
QUOTE 'quote_character'
ESCAPE 'escape_character'
FORCE_QUOTE { ( column_name [, ...] ) | * }
FORCE_NOT_NULL ( column_name [, ...] )
FORCE_NULL ( column_name [, ...] )
ENCODING 'encoding_name'

Paramètres

Nom Description
table_name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) d'une table existante.
column_name Ce paramètre permet d'indiquer une liste facultative de colonnes à copier. Si aucune liste de colonnes n'est spécifiée, toutes les colonnes du tableau seront copiées.
query Ce paramètre permet d'indiquer une commande SELECT, VALUES, INSERT, UPDATE ou DELETE dont les résultats sont à copier. Notez que les parenthèses sont obligatoires autour de la requête. Pour les requêtes INSERT, UPDATE et DELETE, une clause RETURNING doit être fournie et la relation cible ne doit pas avoir de règle conditionnelle, ni de règle ALSO, ni de règle INSTEAD s'étendant à plusieurs instructions.
filename Ce paramètre permet d'indiquer le nom de chemin du fichier d'entrée ou de sortie. Un nom de fichier d'entrée peut être un chemin absolu ou relatif, mais un nom de fichier de sortie doit être un chemin absolu. Les utilisateurs de Windows peuvent avoir besoin d'utiliser une chaîne E'' et de doubler les barres obliques inverses utilisées dans le nom de chemin.
PROGRAM Ce paramètre permet d'indiquer une commande à exécuter. Dans COPY FROM, l'entrée est lue à partir de la sortie standard de la commande, et dans COPY TO, la sortie est écrite sur l'entrée standard de la commande. Notez que la commande est invoquée par l'interpréteur de commande, donc si vous devez transmettre des paramètres à la commande de l'interpréteur de commande provenant d'une source non fiable, vous devez faire attention à supprimer ou à échapper tous les caractères spéciaux pouvant avoir une signification particulière pour l'interpréteur de commande. Pour des raisons de sécurité, il est préférable d'utiliser une chaîne de commande fixe, ou au moins d'éviter d'y transmettre toute entrée utilisateur.
STDIN Ce paramètre permet d'indiquer que l'entrée provient de l'application cliente.
STDOUT Ce paramètre permet d'indiquer que la sortie va à l'application cliente.
boolean Ce paramètre permet d'indiquer si l'option sélectionnée doit être activée ou désactivée. Vous pouvez écrire TRUE, ON ou 1 pour activer l'option, et FALSE, OFF ou 0 pour la désactiver. La valeur booléenne peut également être omise, auquel cas TRUE est supposé.
FORMAT Ce paramètre permet de sélectionner le format de données à lire ou à écrire : texte, csv (valeurs séparées par des virgules) ou binaire. La valeur par défaut est le texte.
OIDS Ce paramètre permet d'indiquer la copie de l'OID pour chaque ligne. (Une erreur est générée si OIDS est spécifié pour une table qui n'a pas d'OID, ou dans le cas de la copie d'une requête.)
FREEZE Ce paramètre permet de demander de copier les données avec des lignes déjà gelées, comme elles le seraient après avoir exécuté la commande VACUUM FREEZE. Ceci est conçu comme une option de performance pour le chargement initial des données. Les lignes ne seront gelées que si la table en cours de chargement a été créée ou tronquée dans la sous-transaction en cours, qu'aucun curseur n'est ouvert et qu'il n'y a pas d'anciens instantanés détenus par cette transaction. Il n'est actuellement pas possible d'effectuer un COPY FREEZE sur une table partitionnée. Notez que toutes les autres sessions pourront immédiatement voir les données une fois qu'elles auront été chargées avec succès. Cela viole les règles normales de visibilité MVCC et les utilisateurs les spécifiant doivent être conscients des problèmes potentiels que cela pourrait causer.
DELIMITER Ce paramètre permet d'indiquer le caractère séparant les colonnes dans chaque ligne (ligne) du fichier. La valeur par défaut est un caractère de tabulation au format texte, une virgule au format CSV. Il doit s'agir d'un seul caractère d'un octet. Cette option n'est pas autorisée lors de l'utilisation du format binaire.
NULL Ce paramètre permet d'indiquer la chaîne représentant une valeur nulle. La valeur par défaut est \N (barre oblique inverse-N) au format texte et une chaîne de caractères vide sans guillemets au format CSV. Vous préférerez peut-être une chaîne de caractères vide même au format texte pour les cas où vous ne souhaitez pas distinguer les valeurs NULL des chaînes de caractères vides. Cette option n'est pas autorisée lors de l'utilisation du format binaire. Lorsque vous utilisez COPY FROM, tout élément de données correspondant à cette chaîne sera entreposé en tant que valeur nulle, vous devez donc vous assurer que vous utilisez la même chaîne de caractères que celle que vous avez utilisée avec COPY TO.
HEADER Ce paramètre permet d'indiquer que le fichier contient une ligne d'entête avec les noms de chaque colonne du fichier. En sortie, la première ligne contient les noms de colonnes de la table, et en entrée, la première ligne est ignorée. Cette option est autorisée uniquement lors de l'utilisation du format CSV.
QUOTE Ce paramètre permet d'indiquer le caractère de guillemet à utiliser lorsqu'une valeur de données est entre guillemets. La valeur par défaut est le guillemet double. Il doit s'agir d'un seul caractère d'un octet. Cette option est autorisée uniquement lors de l'utilisation du format CSV.
ESCAPE Ce paramètre permet d'indiquer le caractère devant apparaître avant un caractère de données correspondant à la valeur QUOTE. La valeur par défaut est la même que la valeur QUOTE (afin que le caractère guillemet soit doublé s'il apparaît dans les données). Il doit s'agir d'un seul caractère d'un octet. Cette option est autorisée uniquement lors de l'utilisation du format CSV.
FORCE_QUOTE Ce paramètre permet de forcer l'utilisation des guillemets pour toutes les valeurs non NULL dans chaque colonne spécifiée. La sortie NULL n'est jamais entre guillemets. Si * est spécifié, les valeurs non NULL seront citées dans toutes les colonnes. Cette option n'est autorisée que dans COPY TO et uniquement lors de l'utilisation du format CSV.
FORCE_NOT_NULL Ce paramètre permet de ne pas correspondre aux valeurs des colonnes spécifiées avec la chaîne de caractères nulle. Dans le cas par défaut où la chaîne de caractères nulle est vide, cela signifie que les valeurs vides seront lues comme des chaînes de caractères de longueur nulle plutôt que des valeurs nulles, même lorsqu'elles ne sont pas entre guillemets. Cette option n'est autorisée que dans COPY FROM, et uniquement lors de l'utilisation du format CSV.
FORCE_NULL Ce paramètre permet de faire correspondre les valeurs des colonnes spécifiées à la chaîne de caractères nulle, même si elle a été entre guillemets, et si une correspondance est trouvée, définissez la valeur sur NULL. Dans le cas par défaut où la chaîne nulle est vide, cela convertit une chaîne de caractères vide entre guillemets en NULL. Cette option n'est autorisée que dans COPY FROM, et uniquement lors de l'utilisation du format CSV.
ENCODING Ce paramètre permet d'indiquer que le fichier est encodé dans encoding_name. Si cette option est omise, l'encodage client actuel est utilisé.

Description

Cette instruction permet de copier des données entre un fichier et une table.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Jeudi, le 14 Octobre 2021