Package org.postgresql.copy

# Class CopyManager

java.lang.Object
org.postgresql.copy.CopyManager

public class CopyManager extends Object
API for PostgreSQL COPY bulk data transfer.

## Constructor Summary

Constructors
Constructor
Description
`CopyManager(BaseConnection connection)`

## Method Summary

Modifier and Type
Method
Description
`CopyDual`
`copyDual(String sql)`
`CopyIn`
`copyIn(String sql)`
`long`
`copyIn(String sql, InputStream from)`
Use COPY FROM STDIN for very fast copying from an InputStream into a database table.
`long`
`copyIn(String sql, InputStream from, int bufferSize)`
Use COPY FROM STDIN for very fast copying from an InputStream into a database table.
`long`
`copyIn(String sql, Reader from)`
Use COPY FROM STDIN for very fast copying from a Reader into a database table.
`long`
`copyIn(String sql, Reader from, int bufferSize)`
Use COPY FROM STDIN for very fast copying from a Reader into a database table.
`long`
`copyIn(String sql, ByteStreamWriter from)`
Use COPY FROM STDIN for very fast copying from an ByteStreamWriter into a database table.
`CopyOut`
`copyOut(String sql)`
`long`
`copyOut(String sql, OutputStream to)`
Pass results of a COPY TO STDOUT query from database into an OutputStream.
`long`
`copyOut(String sql, Writer to)`
Pass results of a COPY TO STDOUT query from database into a Writer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CopyManager

public CopyManager(BaseConnection connection) throws SQLException

Throws:
  `SQLException`

## Method Details

### copyIn

public CopyIn copyIn(String sql) throws SQLException

Throws:
  `SQLException`

### copyOut

public CopyOut copyOut(String sql) throws SQLException

Throws:
  `SQLException`

### copyDual

public CopyDual copyDual(String sql) throws SQLException

Throws:
  `SQLException`

### copyOut

public long copyOut(String sql, Writer to) throws SQLException, IOException
Pass results of a COPY TO STDOUT query from database into a Writer.

Parameters:
  `sql` - COPY TO STDOUT statement
  `to` - the Writer to write the results to (row by row). The Writer is not closed at the end of the Copy Out operation.
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage errors
  `IOException` - upon writer or database connection failure

### copyOut

public long copyOut(String sql, OutputStream to) throws SQLException, IOException
Pass results of a COPY TO STDOUT query from database into an OutputStream.

Parameters:
  `sql` - COPY TO STDOUT statement
  `to` - the stream to write the results to (row by row) The stream is not closed at the end of the operation. This is intentional so the caller can continue to write to the output stream
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage errors
  `IOException` - upon output stream or database connection failure

### copyIn

public long copyIn(String sql, Reader from) throws SQLException, IOException
Use COPY FROM STDIN for very fast copying from a Reader into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon reader or database connection failure

### copyIn

public long copyIn(String sql, Reader from, int bufferSize) throws SQLException, IOException
Use COPY FROM STDIN for very fast copying from a Reader into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
  `bufferSize` - number of characters to buffer and push over network to server at once
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon reader or database connection failure

### copyIn

public long copyIn(String sql, InputStream from) throws SQLException, IOException
Use COPY FROM STDIN for very fast copying from an InputStream into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure

### copyIn

public long copyIn(String sql, InputStream from, int bufferSize) throws SQLException, IOException
Use COPY FROM STDIN for very fast copying from an InputStream into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - a CSV file or such
  `bufferSize` - number of bytes to buffer and push over network to server at once
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure

### copyIn

public long copyIn(String sql, ByteStreamWriter from) throws SQLException, IOException
Use COPY FROM STDIN for very fast copying from an ByteStreamWriter into a database table.

Parameters:
  `sql` - COPY FROM STDIN statement
  `from` - the source of bytes, e.g. a ByteBufferByteStreamWriter
Returns:
  number of rows updated for server 8.2 or newer; -1 for older
Throws:
  `SQLException` - on database usage issues
  `IOException` - upon input stream or database connection failure