pgsql-client 3.5.6 → 3.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin.js +14 -2
- package/esm/admin.js +14 -2
- package/package.json +3 -3
package/admin.js
CHANGED
|
@@ -50,9 +50,21 @@ class DbAdmin {
|
|
|
50
50
|
this.run(`dropdb "${name}"`);
|
|
51
51
|
}
|
|
52
52
|
catch (err) {
|
|
53
|
-
if (
|
|
54
|
-
|
|
53
|
+
if (err.message.includes('does not exist')) {
|
|
54
|
+
return;
|
|
55
55
|
}
|
|
56
|
+
if (err.message.includes('is being accessed by other users')) {
|
|
57
|
+
log.warn(`Database ${name} has active sessions, terminating backends and retrying drop...`);
|
|
58
|
+
try {
|
|
59
|
+
this.run(`psql -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '${name}' AND pid <> pg_backend_pid();"`);
|
|
60
|
+
this.run(`dropdb "${name}"`);
|
|
61
|
+
}
|
|
62
|
+
catch (retryErr) {
|
|
63
|
+
log.warn(`Could not drop database ${name} after terminating backends: ${retryErr.message}`);
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
log.warn(`Could not drop database ${name}: ${err.message}`);
|
|
56
68
|
}
|
|
57
69
|
}
|
|
58
70
|
drop(dbName) {
|
package/esm/admin.js
CHANGED
|
@@ -47,9 +47,21 @@ export class DbAdmin {
|
|
|
47
47
|
this.run(`dropdb "${name}"`);
|
|
48
48
|
}
|
|
49
49
|
catch (err) {
|
|
50
|
-
if (
|
|
51
|
-
|
|
50
|
+
if (err.message.includes('does not exist')) {
|
|
51
|
+
return;
|
|
52
52
|
}
|
|
53
|
+
if (err.message.includes('is being accessed by other users')) {
|
|
54
|
+
log.warn(`Database ${name} has active sessions, terminating backends and retrying drop...`);
|
|
55
|
+
try {
|
|
56
|
+
this.run(`psql -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '${name}' AND pid <> pg_backend_pid();"`);
|
|
57
|
+
this.run(`dropdb "${name}"`);
|
|
58
|
+
}
|
|
59
|
+
catch (retryErr) {
|
|
60
|
+
log.warn(`Could not drop database ${name} after terminating backends: ${retryErr.message}`);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
log.warn(`Could not drop database ${name}: ${err.message}`);
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
drop(dbName) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pgsql-client",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.7",
|
|
4
4
|
"author": "Constructive <developers@constructive.io>",
|
|
5
5
|
"description": "PostgreSQL client utilities with query helpers, RLS context management, and database administration",
|
|
6
6
|
"main": "index.js",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"makage": "^0.1.12"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@pgpmjs/core": "^6.7.
|
|
48
|
+
"@pgpmjs/core": "^6.7.1",
|
|
49
49
|
"@pgpmjs/logger": "^2.4.3",
|
|
50
50
|
"@pgpmjs/types": "^2.19.3",
|
|
51
51
|
"pg": "^8.20.0",
|
|
52
52
|
"pg-env": "^1.7.3"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "c18ef8e002d958001fe69fff3758d1f89613eb2b"
|
|
55
55
|
}
|