Package cn.mapway.ui.server.db
Class PgTools
- java.lang.Object
-
- cn.mapway.ui.server.db.PgTools
-
-
Constructor Summary
Constructors Constructor Description PgTools(Connection connection, String db)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbackupToSqlite(String schema, String tableName, String sqliteFile, IProgressHandler handler)备份一张表到sqlite中voidclose()static PgToolscreate(String host, String port, String db, String userName, String password)booleancreateDatabase(String dbName, String owner)创建数据库StringcreateSqlFromMetadata(TableMetadata tableMetadata, String schemaName, String newTableName)生成创建表的SQLvoidcreateTable(TableMetadata tableMetadata, boolean dropIfExists)voiddropTable(TableMetadata tableMetadata)voideachRow(TableMetadata tableMetadata, org.nutz.lang.Each<ResultSet> consumer)遍历数据库中没一条记录TableMetadatafetchTableMetadata(String schema, String sourceTableName)获取表元数据StringgenerateDropTableSql(TableMetadata tableMetadata)StringgenerateSelectQuery(TableMetadata tableMetadata)longgetRowCount(TableMetadata tableMetadata)获取表的记录数量booleaninstallExtension(String extension)数据库安装扩展booleanisDatabaseExist(String databaseName)判断postgres是否存在数据库booleanisTableExist(String schema, String tableName)List<String>listTable(String schema)List<String>listView(Connection conn, String schema)static voidmain(String[] args)voidrestore(IDbSource dbSource, TableMetadata sourceMetadata, TableMetadata targetMetadata, IProgressHandler handler)从数据源中恢复数据voidrestoreFromSqlite(String schema, String tableName, String sqliteFile, IProgressHandler handler)从sqlite中恢复一张表voidtruncateTable(String schema, String tableName)voidupdateTableIndex(TableMetadata tableMetadata)更新表索引
-
-
-
Constructor Detail
-
PgTools
public PgTools(Connection connection, String db)
-
-
Method Detail
-
backupToSqlite
public void backupToSqlite(String schema, String tableName, String sqliteFile, IProgressHandler handler) throws Exception
备份一张表到sqlite中- Parameters:
tableName-sqliteFile-- Throws:
Exception
-
restoreFromSqlite
public void restoreFromSqlite(String schema, String tableName, String sqliteFile, IProgressHandler handler) throws Exception
从sqlite中恢复一张表- Parameters:
schema-tableName-sqliteFile-handler-- Throws:
Exception
-
create
public static PgTools create(String host, String port, String db, String userName, String password) throws SQLException
- Throws:
SQLException
-
listView
public List<String> listView(Connection conn, String schema)
-
fetchTableMetadata
public TableMetadata fetchTableMetadata(String schema, String sourceTableName) throws SQLException
获取表元数据- Parameters:
sourceTableName- "public.sys_config"- Returns:
- 表的元数据
- Throws:
SQLException
-
updateTableIndex
public void updateTableIndex(TableMetadata tableMetadata)
更新表索引- Parameters:
tableMetadata-
-
eachRow
public void eachRow(TableMetadata tableMetadata, org.nutz.lang.Each<ResultSet> consumer) throws SQLException
遍历数据库中没一条记录- Specified by:
eachRowin interfaceIDbSource- Parameters:
tableMetadata-consumer-- Throws:
SQLException
-
restore
public void restore(IDbSource dbSource, TableMetadata sourceMetadata, TableMetadata targetMetadata, IProgressHandler handler) throws SQLException
从数据源中恢复数据- Parameters:
dbSource-sourceMetadata- 原表元数据targetMetadata- 目标表元数据handler-- Throws:
SQLException
-
generateSelectQuery
public String generateSelectQuery(TableMetadata tableMetadata)
-
getRowCount
public long getRowCount(TableMetadata tableMetadata)
获取表的记录数量- Parameters:
tableMetadata-- Returns:
-
dropTable
public void dropTable(TableMetadata tableMetadata)
-
generateDropTableSql
public String generateDropTableSql(TableMetadata tableMetadata)
-
createTable
public void createTable(TableMetadata tableMetadata, boolean dropIfExists)
-
createSqlFromMetadata
public String createSqlFromMetadata(TableMetadata tableMetadata, String schemaName, String newTableName)
生成创建表的SQL- Parameters:
tableMetadata-- Returns:
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
isDatabaseExist
public boolean isDatabaseExist(String databaseName)
判断postgres是否存在数据库- Parameters:
databaseName-- Returns:
-
createDatabase
public boolean createDatabase(String dbName, String owner)
创建数据库- Parameters:
dbName-owner-
-
installExtension
public boolean installExtension(String extension)
数据库安装扩展- Parameters:
extension-- Returns:
-
main
public static void main(String[] args)
-
-