# PostgreSQL input plugins for Embulk PostgreSQL input plugins for Embulk loads records from PostgreSQL. ## Overview * **Plugin type**: input * **Resume supported**: yes ## Configuration - **host**: database host name (string, required) - **port**: database port number (integer, 5432) - **user**: database login user name (string, required) - **password**: database login password (string, default: "") - **database**: destination database name (string, required) - **schema**: destination schema name (string, default: "public") - **fetch_rows**: number of rows to fetch one time (used for java.sql.Statement#setFetchSize) (integer, default: 10000) - **options**: extra JDBC properties (hash, default: {}) - If you write SQL directly, - **query**: SQL to run (string) - If **query** is not set, - **table**: destination table name (string, required) - **select**: comma-separated list of columns to select (string, default: "*") - **where**: WHERE condition to filter the rows (string, default: no-condition) ## Example ```yaml in: type: postgresql host: localhost user: myuser password: "" database: my_database table: my_table select: "col1, col2, col3" where: "col4 != 'a'" ``` If you need a complex SQL, ```yaml in: type: postgresql host: localhost user: myuser password: "" database: my_database query: | SELECT t1.id, t1.name, t2.id AS t2_id, t2.name AS t2_name FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.id = t2.t1_id ``` ## Build ``` $ ./gradlew gem ```