diff --git a/pkg/api/api.go b/pkg/api/api.go index 9e1c37f11f240dd64d5bd0d8f635c46b00483788..3b651182b4c3e404ce072619357494c9d6d7d913 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -34,6 +34,7 @@ func DB(c *gin.Context) *client.Client { if command.Opts.Sessions { return DbSessions[getSessionId(c.Request)] } + DbClient.SetApplicationName() return DbClient } @@ -121,6 +122,7 @@ func ConnectWithBackend(c *gin.Context) { } cl.External = true + cl.SetApplicationName() // Finalize session seetup _, err = cl.Info() if err == nil { @@ -175,6 +177,8 @@ func Connect(c *gin.Context) { return } + cl.SetApplicationName() + info, err := cl.Info() if err == nil { err = setClient(c, cl) @@ -235,6 +239,8 @@ func SwitchDb(c *gin.Context) { return } + cl.SetApplicationName() + info, err := cl.Info() if err == nil { err = setClient(c, cl) @@ -472,7 +478,7 @@ func HandleQuery(query string, c *gin.Context) { filename := getQueryParam(c, "filename") if filename == "" { - filename = fmt.Sprintf("pgweb-%v.%v", time.Now().Unix(), format) + filename = fmt.Sprintf("openGauss-webclient-%v.%v", time.Now().Unix(), format) } if format != "" { diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go index 096e06ad82402a918b5186c3589767f5afb11c09..4156b43bc11e34d47c575ade1a96340aabd7816e 100644 --- a/pkg/cli/cli.go +++ b/pkg/cli/cli.go @@ -118,6 +118,9 @@ func initClient() { fmt.Printf("Connected to %s\n", cl.ServerVersion()) } + fmt.Println("Set application name...") + cl.SetApplicationName() + fmt.Println("Checking database objects...") _, err = cl.Objects() if err != nil { diff --git a/pkg/client/client.go b/pkg/client/client.go index 0b7a939638773877b993cadb3d68a2132d296873..f235e67a5b19da43d7b6faea1dd17cf8a05134a2 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -177,6 +177,10 @@ func (client *Client) setServerVersion() { } } +func (client *Client) SetApplicationName() (*Result, error) { + return client.query(statements.SetApplication) +} + func (client *Client) Test() error { return client.db.Ping() } @@ -361,7 +365,7 @@ func (client *Client) query(query string, args ...interface{}) (*Result, error) } action := strings.ToLower(strings.Split(query, " ")[0]) - if action == "update" || action == "delete" { + if action == "update" || action == "delete" || action == "insert" { res, err := client.db.Exec(query, args...) if err != nil { return nil, err diff --git a/pkg/command/version.go b/pkg/command/version.go index 926abe81cef14091f51ba761314bf2de3dab8f39..3455d98e9e56d2e23fb7af1f434c12a9543fc99a 100644 --- a/pkg/command/version.go +++ b/pkg/command/version.go @@ -2,7 +2,7 @@ package command const ( // Version is the current Pgweb application version - Version = "0.6.0" + Version = "0.7.0" ) var ( diff --git a/pkg/statements/sql.go b/pkg/statements/sql.go index 84a94eb7cc1b22ed9e8fdfc830e13f4ff9597c90..dc30be6fd68632b5d21c868fcc6bb1251b22bac9 100644 --- a/pkg/statements/sql.go +++ b/pkg/statements/sql.go @@ -152,11 +152,15 @@ WHERE n.nspname NOT IN ('information_schema', 'pg_catalog') AND has_schema_privilege(n.nspname, 'USAGE') ORDER BY 1, 2` + + SetApplication = ` +SET application_name = 'openGauss-webclient' + ` ) var ( Activity = map[string]string{ - "default": "SELECT * FROM pg_stat_activity WHERE datname = current_database()", + "default": "SELECT datid, datname, pid, query, query_start, state, waiting, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", "9.1": "SELECT datname, current_query, waiting, query_start, procpid as pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", "9.2": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", "9.3": "SELECT datname, query, state, waiting, query_start, state_change, pid, datid, application_name, client_addr FROM pg_stat_activity WHERE datname = current_database()", diff --git a/static/index.html b/static/index.html index 92634ea2215b78e9cc33be962d6406b7dd1767dd..ec77e88d07c139aa03023723731be6ba4a9da4a0 100644 --- a/static/index.html +++ b/static/index.html @@ -25,12 +25,12 @@
@@ -38,15 +38,17 @@