2014-10-14 04:49:43 +04:00
<!DOCTYPE html>
< html lang = "en" xml:lang = "en" xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< title > pgweb< / title >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta http-equiv = "Content-Language" content = "en" >
2016-02-20 06:14:56 +03:00
< link rel = "stylesheet" href = "static/css/bootstrap.css" > < / link >
< link rel = "stylesheet" href = "static/css/font-awesome.css" > < / link >
< link rel = "stylesheet" href = "static/css/app.css" > < / link >
< link rel = "icon" type = "image/x-icon" href = "static/img/icon.ico" / >
< script type = "text/javascript" src = "static/js/jquery.js" > < / script >
< script type = "text/javascript" src = "static/js/ace.js" > < / script >
< script type = "text/javascript" src = "static/js/ace-pgsql.js" > < / script >
2019-10-03 01:20:18 +03:00
< script type = "text/javascript" src = "static/js/ext-language_tools.js" > < / script >
2016-02-20 06:14:56 +03:00
< script type = "text/javascript" src = "static/js/bootstrap-contextmenu.js" > < / script >
2017-09-16 21:50:22 +03:00
< script type = "text/javascript" src = "static/js/utils.js" > < / script >
2017-10-06 17:15:44 +03:00
< script type = "text/javascript" src = "static/js/bootstrap3-typeahead.min.js" > < / script >
< script type = "text/javascript" src = "static/js/app.js" > < / script >
2019-01-25 07:04:21 +03:00
< script type = "text/javascript" src = "static/js/base64.js" > < / script >
2014-10-14 04:49:43 +04:00
< / head >
< body >
2014-11-01 23:44:24 +03:00
< div id = "main" >
< div id = "nav" >
< ul >
2015-05-19 00:57:53 +03:00
< li id = "table_content" > Rows< / li >
2014-11-01 23:44:24 +03:00
< li id = "table_structure" > Structure< / li >
< li id = "table_indexes" > Indexes< / li >
2015-12-05 03:14:03 +03:00
< li id = "table_constraints" > Constraints< / li >
2017-11-22 00:33:13 +03:00
< li id = "table_query" class = "selected" > Query< / li >
2014-11-01 23:44:24 +03:00
< li id = "table_history" > History< / li >
2015-03-22 03:14:11 +03:00
< li id = "table_activity" > Activity< / li >
2014-11-01 23:44:24 +03:00
< li id = "table_connection" > Connection< / li >
< / ul >
2014-11-02 04:06:15 +03:00
2016-02-05 08:13:54 +03:00
< div class = "connection-actions" >
< a href = "#" id = "edit_connection" class = "btn btn-default btn-sm" > < i class = "fa fa-database" > < / i > Connect< / a >
< a href = "#" id = "close_connection" class = "btn btn-default btn-sm" > Disconnect< / a >
< / div >
2014-11-01 05:39:00 +03:00
< / div >
2014-11-01 23:44:24 +03:00
< div id = "sidebar" >
2019-07-05 23:19:05 +03:00
< div class = "current-database" >
< div class = "wrap" >
< i class = "fa fa-database" > < / i > < span class = "current-database-name" id = "current_database" > < / span >
< input class = "typeahead" id = "database_search" type = "text" placeholder = "Search database" / >
< span class = "refresh" id = "refresh_tables" title = "Refresh tables list" > < i class = "fa fa-refresh" > < / i > < / span >
< / div >
< / div >
2019-07-06 00:18:29 +03:00
< div class = "objects-search" >
< div class = "wrap" >
< i class = "fa fa-search" > < / i >
< i class = "fa fa-times-circle clear-objects-filter" > < / i >
< input type = "text" placeholder = "Filter database objects" id = "filter_database_objects" / >
< / div >
< / div >
2014-11-01 23:44:24 +03:00
< div class = "tables-list" >
< div class = "wrap" >
2016-01-13 06:33:44 +03:00
< div id = "objects" > < / div >
2014-11-01 23:44:24 +03:00
< / div >
< / div >
< div class = "table-information" >
< div class = "wrap" >
< div class = "title" > Table Information< / div >
2019-07-05 23:19:05 +03:00
< div class = "lines" >
< div class = "line" > Size: < span id = "table_total_size" > < / span > < / div >
< div class = "line" > Data size: < span id = "table_data_size" > < / span > < / div >
< div class = "line" > Index size: < span id = "table_index_size" > < / span > < / div >
< div class = "line" > Estimated rows: < span id = "table_rows_count" > < / span > < / div >
< / div >
2014-11-01 23:44:24 +03:00
< / div >
2014-10-27 01:16:35 +03:00
< / div >
2014-10-26 00:47:23 +04:00
< / div >
2014-11-01 23:44:24 +03:00
< div id = "body" >
< div id = "input" >
< div class = "wrapper" >
< div id = "custom_query" > < / div >
< div class = "actions" >
< input type = "button" id = "run" value = "Run Query" class = "btn btn-sm btn-primary" / >
< input type = "button" id = "explain" value = "Explain Query" class = "btn btn-sm btn-default" / >
< div id = "query_progress" > Please wait, query is executing...< / div >
2016-01-08 05:44:03 +03:00
< div class = "pull-right" >
2017-02-25 23:04:48 +03:00
< span id = "result-rows-count" > < / span >
2016-01-08 05:44:03 +03:00
< input type = "button" id = "json" value = "JSON" class = "btn btn-sm btn-default" / >
< input type = "button" id = "csv" value = "CSV" class = "btn btn-sm btn-default" / >
< input type = "button" id = "xml" value = "XML" class = "btn btn-sm btn-default" / >
< / div >
2014-11-01 23:44:24 +03:00
< / div >
2014-10-14 04:49:43 +04:00
< / div >
2014-10-13 22:55:19 +04:00
< / div >
2014-11-01 23:44:24 +03:00
< div id = "output" >
< div class = "wrapper" >
2018-09-15 02:14:18 +03:00
< table id = "results" class = "table" >
< thead id = "results_header" > < / thead >
< tbody id = "results_body" > < / tbody >
< / table >
2014-11-01 23:44:24 +03:00
< / div >
2014-10-14 04:49:43 +04:00
< / div >
2016-01-08 23:16:53 +03:00
< div id = "pagination" >
< form class = "filters" action = "#" id = "rows_filter" >
< span > Search< / span >
< select class = "column form-control" > < / select >
< select class = "filter form-control" >
2016-01-09 00:31:06 +03:00
< option value = "" > Select filter< / option >
2016-01-08 23:16:53 +03:00
< option value = "equal" > =< / option >
< option value = "not_equal" > ≠ < / option >
< option value = "greater" > > < / option >
2016-01-09 00:31:06 +03:00
< option value = "greater_eq" > ≥ < / option >
2016-01-08 23:16:53 +03:00
< option value = "less" > < < / option >
< option value = "less_eq" > ≤ < / option >
< option value = "like" > LIKE< / option >
< option value = "ilike" > ILIKE< / option >
< option value = "null" > IS NULL< / option >
< option value = "not_null" > NOT NULL< / option >
< / select >
2018-08-21 04:42:38 +03:00
< input type = "text" class = "form-control" placeholder = "Filter value" id = "table_filter_value" / >
2016-01-08 23:16:53 +03:00
< button class = "btn btn-primary btn-sm apply-filters" type = "submit" > Apply< / button >
< button class = "btn btn-default btn-sm reset-filters" > < i class = "fa fa-times" > < / i > < / button >
< / form >
< div class = "btn-group" >
< button type = "button" class = "btn btn-default btn-sm prev-page" disabled = "disabled" > < i class = "fa fa-angle-left" > < / i > < / button >
< button type = "button" class = "btn btn-default btn-sm page change-limit" title = "Click to change row limit" > < / button >
< button type = "button" class = "btn btn-default btn-sm next-page" > < i class = "fa fa-angle-right" > < / i > < / button >
< / div >
< div class = "current-page" data-page = "1" data-pages = "1" >
< span id = "total_records" > < / span > rows
< / div >
< / div >
2014-10-13 22:55:19 +04:00
< / div >
2014-10-11 22:03:51 +04:00
< / div >
2014-11-04 04:06:05 +03:00
2014-11-01 23:44:24 +03:00
< div id = "connection_window" >
< div class = "connection-settings" >
2018-12-13 05:11:35 +03:00
< div class = "header" >
< h1 > pgweb< / h1 >
< div class = "version" > < / div >
< div class = "update alert alert-warning" > < / div >
< / div >
2014-11-01 23:44:24 +03:00
2014-11-06 20:25:53 +03:00
< form role = "form" class = "form-horizontal" id = "connection_form" >
2014-11-07 01:05:49 +03:00
< div class = "text-center" >
< div class = "btn-group btn-group-sm connection-group-switch" >
2014-12-07 05:04:32 +03:00
< button type = "button" data = "scheme" class = "btn btn-default" id = "connection_scheme" > Scheme< / button >
< button type = "button" data = "standard" class = "btn btn-default active" id = "connection_standard" > Standard< / button >
2016-01-15 04:50:01 +03:00
< button type = "button" data = "ssh" class = "btn btn-default" id = "connection_ssh" > SSH< / button >
2014-11-06 20:25:53 +03:00
< / div >
< / div >
< hr / >
2014-11-07 01:05:49 +03:00
< div class = "connection-scheme-group" >
< div class = "form-group" >
< div class = "col-sm-12" >
< label > Enter server URL scheme< / label >
2017-12-01 07:25:20 +03:00
< input type = "text" class = "form-control" id = "connection_url" name = "url" autocomplete = "off" >
2017-12-15 07:49:10 +03:00
< p class = "help-block" >
URL format: postgres://user:password@host:port/db?sslmode=mode< br / >
Read more on PostgreSQL < a href = "https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING" target = "_blank" > connection string format< / a > .
< / p >
2014-11-07 01:05:49 +03:00
< / div >
2014-11-06 20:25:53 +03:00
< / div >
< / div >
2014-11-07 01:05:49 +03:00
< div class = "connection-standard-group" >
2014-12-07 05:04:32 +03:00
< div class = "form-group bookmarks" >
< label class = "col-sm-3 control-label" > Bookmark< / label >
< div class = "col-sm-9" >
< select class = "form-control" id = "connection_bookmarks" > < / select >
< / div >
< / div >
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
< label class = "col-sm-3 control-label" > Host< / label >
2017-09-27 07:29:28 +03:00
< div class = "col-sm-7" >
2014-11-07 01:05:49 +03:00
< input type = "text" id = "pg_host" class = "form-control" / >
< / div >
2017-09-27 07:29:28 +03:00
< div class = "col-sm-2 no-left-padding" >
< input type = "text" id = "pg_port" class = "form-control" placeholder = "5432" / >
< / div >
2014-11-06 20:25:53 +03:00
< / div >
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
< label class = "col-sm-3 control-label" > Username< / label >
< div class = "col-sm-9" >
< input type = "text" id = "pg_user" class = "form-control" / >
< / div >
2014-11-06 20:25:53 +03:00
< / div >
2014-11-01 23:44:24 +03:00
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
< label class = "col-sm-3 control-label" > Password< / label >
< div class = "col-sm-9" >
2015-06-10 17:06:28 +03:00
< input type = "password" id = "pg_password" class = "form-control" / >
2014-11-07 01:05:49 +03:00
< / div >
2014-11-06 20:25:53 +03:00
< / div >
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
< label class = "col-sm-3 control-label" > Database< / label >
< div class = "col-sm-9" >
< input type = "text" id = "pg_db" class = "form-control" / >
< / div >
2014-11-06 20:25:53 +03:00
< / div >
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
2017-09-27 07:29:28 +03:00
< label class = "col-sm-3 control-label" > SSL Mode< / label >
2014-11-07 01:05:49 +03:00
< div class = "col-sm-9" >
< select class = "form-control" id = "connection_ssl" >
< option value = "disable" > disable< / option >
< option value = "require" selected = "selected" > require< / option >
< option value = "verify-full" > verify-full< / option >
< / select >
< / div >
2014-11-06 20:25:53 +03:00
< / div >
2014-11-01 23:44:24 +03:00
< / div >
2014-11-07 01:05:49 +03:00
< div class = "connection-ssh-group" >
2017-09-27 07:29:28 +03:00
< hr / >
2017-10-14 01:23:53 +03:00
2019-11-02 20:44:04 +03:00
< h3 class = "text-center" > SSH Connection< / h3 >
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
2019-11-02 20:44:04 +03:00
< label class = "col-sm-3 control-label" > Host< / label >
2017-09-27 07:29:28 +03:00
< div class = "col-sm-7" >
2014-11-07 01:05:49 +03:00
< input type = "text" id = "ssh_host" class = "form-control" / >
< / div >
2017-09-27 07:29:28 +03:00
< div class = "col-sm-2 no-left-padding" >
< input type = "text" id = "ssh_port" class = "form-control" placeholder = "22" / >
< / div >
2014-11-07 01:05:49 +03:00
< / div >
2017-10-14 01:23:53 +03:00
2014-11-07 01:05:49 +03:00
< div class = "form-group" >
2019-11-02 20:44:04 +03:00
< label class = "col-sm-3 control-label" > Credentials< / label >
< div class = "col-sm-5" >
< input type = "text" id = "ssh_user" class = "form-control" placeholder = "Username" / >
2014-11-07 01:05:49 +03:00
< / div >
2019-11-02 20:44:04 +03:00
< div class = "col-sm-4 no-left-padding" >
< input type = "password" id = "ssh_password" class = "form-control" placeholder = "Password" / >
2014-11-07 01:05:49 +03:00
< / div >
< / div >
< div class = "form-group" >
2019-11-02 20:44:04 +03:00
< label class = "col-sm-3 control-label" > Auth Key< / label >
< div class = "col-sm-5" >
< input type = "text" id = "ssh_key" class = "form-control" placeholder = "Key path" / >
< / div >
< div class = "col-sm-4 no-left-padding" >
< input type = "password" id = "ssh_key_password" class = "form-control" placeholder = "Key password" / >
2014-11-07 01:05:49 +03:00
< / div >
< / div >
2019-11-02 20:44:04 +03:00
< hr / >
2014-11-07 01:05:49 +03:00
< / div >
2014-11-06 20:25:53 +03:00
2014-11-01 23:44:24 +03:00
< div id = "connection_error" class = "alert alert-danger" > < / div >
2014-11-06 20:25:53 +03:00
< div class = "form-group" >
2014-11-07 01:05:49 +03:00
< div class = "col-sm-12" >
2016-02-21 06:03:35 +03:00
< button type = "submit" class = "btn btn-block btn-primary open-connection" > Connect< / button >
2016-03-02 04:42:01 +03:00
< button type = "button" id = "close_connection_window" class = "btn btn-block btn-default" > Cancel< / button >
2014-11-06 20:25:53 +03:00
< / div >
< / div >
2014-11-01 23:44:24 +03:00
< / form >
< / div >
< / div >
2015-05-19 20:24:52 +03:00
< div id = "tables_context_menu" >
< ul class = "dropdown-menu" role = "menu" >
2017-11-17 07:27:05 +03:00
< li > < a href = "#" data-action = "copy" > Copy Table Name< / a > < / li >
< li class = "divider" > < / li >
2016-01-05 03:03:53 +03:00
< li > < a href = "#" data-action = "export" data-format = "json" > Export to JSON< / a > < / li >
< li > < a href = "#" data-action = "export" data-format = "csv" > Export to CSV< / a > < / li >
< li > < a href = "#" data-action = "export" data-format = "xml" > Export to XML< / a > < / li >
2017-11-17 07:27:05 +03:00
< li > < a href = "#" data-action = "dump" > Export to SQL< / a > < / li >
2017-09-17 04:32:41 +03:00
< li class = "divider" > < / li >
2017-09-16 21:50:22 +03:00
< li > < a href = "#" data-action = "truncate" > Truncate Table< / a > < / li >
< li > < a href = "#" data-action = "delete" > Delete Table< / a > < / li >
2015-05-19 20:24:52 +03:00
< / ul >
< / div >
2017-12-01 08:38:15 +03:00
< div id = "view_context_menu" >
< ul class = "dropdown-menu" role = "menu" >
< li > < a href = "#" data-action = "copy" > Copy View Name< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" data-action = "export" data-format = "json" > Export to JSON< / a > < / li >
< li > < a href = "#" data-action = "export" data-format = "csv" > Export to CSV< / a > < / li >
< li > < a href = "#" data-action = "export" data-format = "xml" > Export to XML< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" data-action = "delete" > Delete View< / a > < / li >
< / ul >
< / div >
2017-09-17 04:32:41 +03:00
< div id = "current_database_context_menu" >
< ul class = "dropdown-menu" role = "menu" >
< li > < a href = "#" data-action = "export" > Export SQL dump< / a > < / li >
< / ul >
< / div >
2017-09-16 21:50:22 +03:00
< div id = "results_header_menu" >
< ul class = "dropdown-menu" role = "menu" >
< li > < a href = "#" data-action = "unique_values" data-counts = "false" > Unique Values< / a > < / li >
< li > < a href = "#" data-action = "unique_values" data-counts = "true" > Unique Values + Counts< / a > < / li >
2018-09-14 04:50:33 +03:00
< li > < a href = "#" data-action = "num_stats" > Numeric stats (min/max/avg)< / a > < / li >
2017-09-16 21:50:22 +03:00
< li > < a href = "#" data-action = "copy_name" > Copy Column Name< / a > < / li >
< / ul >
< / div >
2018-09-15 02:14:18 +03:00
< div id = "results_row_menu" >
< ul class = "dropdown-menu" role = "menu" >
< li > < a href = "#" data-action = "copy_value" > Copy Value< / a > < / li >
< li > < a href = "#" data-action = "filter_by_value" > Filter Rows By Value< / a > < / li >
< / ul >
< / div >
2014-10-14 04:49:43 +04:00
< / body >
2014-11-21 08:25:44 +03:00
< / html >