This option is not allowed when using binary format. If this option is set to MATCH, the number and names of the columns in the header line must match the actual column names of the table, in order otherwise an error is raised. On input, the first line is discarded when this option is set to true (or equivalent Boolean value). On output, the first line contains the column names from the table. Specifies that the file contains a header line with the names of each column in the file. When using COPY FROM, any data item that matches this string will be stored as a null value, so you should make sure that you use the same string as you used with COPY TO. You might prefer an empty string even in text format for cases where you don't want to distinguish nulls from empty strings. The default is \N (backslash-N) in text format, and an unquoted empty string in CSV format. Specifies the string that represents a null value. This must be a single one-byte character. The default is a tab character in text format, a comma in CSV format. Specifies the character that separates columns within each row (line) of the file. This violates the normal rules of MVCC visibility and users specifying should be aware of the potential problems this might cause. Note that all other sessions will immediately be able to see the data once it has been successfully loaded. It is currently not possible to perform a COPY FREEZE on a partitioned table. Rows will be frozen only if the table being loaded has been created or truncated in the current subtransaction, there are no cursors open and there are no older snapshots held by this transaction. This is intended as a performance option for initial data loading. Requests copying the data with rows already frozen, just as they would be after running the VACUUM FREEZE command. Selects the data format to be read or written: text, csv (Comma Separated Values), or binary. The boolean value can also be omitted, in which case TRUE is assumed. You can write TRUE, ON, or 1 to enable the option, and FALSE, OFF, or 0 to disable it. Specifies whether the selected option should be turned on or off. Specifies that output goes to the client application. Specifies that input comes from the client application. For security reasons, it is best to use a fixed command string, or at least avoid passing any user input in it. Note that the command is invoked by the shell, so if you need to pass any arguments to shell command that come from an untrusted source, you must be careful to strip or escape any special characters that might have a special meaning for the shell. In COPY FROM, the input is read from standard output of the command, and in COPY TO, the output is written to the standard input of the command. Windows users might need to use an E'' string and double any backslashes used in the path name. An input file name can be an absolute or relative path, but an output file name must be an absolute path. The path name of the input or output file. Note that parentheses are required around the query.įor INSERT, UPDATE and DELETE queries a RETURNING clause must be provided, and the target relation must not have a conditional rule, nor an ALSO rule, nor an INSTEAD rule that expands to multiple statements. queryĪ SELECT, VALUES, INSERT, UPDATE, or DELETE command whose results are to be copied. If no column list is specified, all columns of the table except generated columns will be copied. column_nameĪn optional list of columns to be copied. The name (optionally schema-qualified) of an existing table. When STDIN or STDOUT is specified, data is transmitted via the connection between the client and the server.Įach backend running COPY will report its progress in the pg_stat_progress_copy view. The command must be specified from the viewpoint of the server, and be executable by the PostgreSQL user. When PROGRAM is specified, the server executes the given command and reads from the standard output of the program, or writes to the standard input of the program. The file must be accessible by the PostgreSQL user (the user ID the server runs as) and the name must be specified from the viewpoint of the server. Table columns not specified in the COPY FROM column list will receive their default values.ĬOPY with a file name instructs the PostgreSQL server to directly read from or write to a file. For COPY FROM, each field in the file is inserted, in order, into the specified column. If a column list is specified, COPY TO copies only the data in the specified columns to the file. COPY TO can also copy the results of a SELECT query. COPY TO copies the contents of a table to a file, while COPY FROM copies data from a file to a table (appending the data to whatever is in the table already). COPY moves data between PostgreSQL tables and standard file-system files.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |