mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
82bade79dc
There is an option "-s oldname=newname", which changes the old field name of the dbf-file to the newname in PostgeSQL. If the length of the new name is 0, the field is skiped. If you want to skip the first field of the dbf-file, you get the wildest error-messages from the backend. dbf2pg load the dbf-file via "COPY tablename FROM STDIN". If you skip the first field, it is an \t to much in STDIN. A fix could be an counter j=0, which increments only, if a field is imported (IF (strlen(fields[h].db_name)> 0) j++. And only if j > 1 (if an other field is imported) the \t is printed. An other small bug in the README: -s start Specify the first record-number in the xBase-file we will insert. should be -e start Specify the first record-number in the xBase-file we will insert. Thomas Behr
117 lines
2.6 KiB
Groff
117 lines
2.6 KiB
Groff
.TH dbf2sql 1L \" -*- nroff -*-
|
|
.SH NAME
|
|
dbf2sql \- Insert xBase\-style .dbf\-files into a PostgreSQL\-table
|
|
.SH SYNOPSIS
|
|
.B dbf2pg [options] dbf-file
|
|
.br
|
|
.br
|
|
Options:
|
|
.br
|
|
[-v[v]] [-f] [-u | -l] [-c | -D] [-d database] [-t table]
|
|
[-h host] [-s oldname=[newname][,oldname=[newname]]]
|
|
[-b start] [-e end] [-W] [-U username] [-B transaction_size]
|
|
[-F charset_from [-T charset_to]]
|
|
|
|
.SH DESCRIPTION
|
|
This manual page documents the program
|
|
.BR dbf2pg.
|
|
It takes an xBase-style .dbf-file, and inserts it into the specified
|
|
database and table.
|
|
.SS OPTIONS
|
|
.TP
|
|
.I "\-v"
|
|
Display some status-messages.
|
|
.TP
|
|
.I "-vv"
|
|
Also display progress.
|
|
.TP
|
|
.I "-f"
|
|
Convert all field-names from the .dbf-file to lowercase.
|
|
.TP
|
|
.I "-u"
|
|
Convert the contents of all fields to uppercase.
|
|
.TP
|
|
.I "-l"
|
|
Convert the contents of all fields to lowercase.
|
|
.TP
|
|
.I "-c"
|
|
Create the table specified with
|
|
.IR \-t .
|
|
If this table already exists, first
|
|
.BR DROP
|
|
it.
|
|
.TP
|
|
.I "-D"
|
|
Delete the contents of the table specified with
|
|
.IR \-t .
|
|
Note that this table has to exists. An error is returned if this is not the
|
|
case.
|
|
.TP
|
|
.I "-W"
|
|
Ask for password.
|
|
.TP
|
|
.I "-d database"
|
|
Specify the database to use. An error is returned if this database does not
|
|
exists. Default is "test".
|
|
.TP
|
|
.I "-t table"
|
|
Specify the table to insert in. An error is returned if this table does not
|
|
exists. Default is "test".
|
|
.TP
|
|
.I "-h host"
|
|
Specify the host to which to connect. Default is "localhost".
|
|
.TP
|
|
.I "-s oldname=newname[,oldname=newname]"
|
|
Change the name of a field from
|
|
.BR oldname
|
|
to
|
|
.BR newname .
|
|
This is mainly used to avoid using reserved SQL-keywords. Example:
|
|
.br
|
|
.br
|
|
-s SELECT=SEL,COMMIT=doit
|
|
.br
|
|
.br
|
|
This is done
|
|
.BR before
|
|
the
|
|
.IR -f
|
|
operator has taken effect!
|
|
.TP
|
|
.I "-b start"
|
|
Specify the first record-number in the xBase-file we will insert.
|
|
.TP
|
|
.I "-e end"
|
|
Specify the last record-number in the xBase-file we will insert.
|
|
.TP
|
|
.I "-B transaction_size"
|
|
Specify the number of records per transaction, default is all records.
|
|
.TP
|
|
.I "-U username"
|
|
Log as the specified user in the database.
|
|
.TP
|
|
.I "-F charset_from"
|
|
If specified, it converts the data from the specified charset. Example:
|
|
.br
|
|
.br
|
|
-F IBM437
|
|
.br
|
|
.br
|
|
Consult your system documentation to see the convertions available.
|
|
.TP
|
|
.I "-T charset_to"
|
|
Together with
|
|
.I "-F charset_from"
|
|
, it converts the data to the specified charset. Default is "ISO-8859-1".
|
|
.SH ENVIRONMENT
|
|
This program is affected by the environment-variables as used
|
|
by
|
|
.B PostgresSQL.
|
|
See the documentation of PostgresSQL for more info.
|
|
.SH BUGS
|
|
Fields larger than 8192 characters are not supported and could break the
|
|
program.
|
|
.br
|
|
Some charset convertions could cause the output to be larger than the input
|
|
and could break the program.
|