@neverinfamous/postgres-mcp 1.1.0 → 1.3.0
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/README.md +95 -81
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +0 -1
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/__tests__/mocks/pool.d.ts.map +1 -1
- package/dist/__tests__/mocks/pool.js +0 -1
- package/dist/__tests__/mocks/pool.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +1 -1
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +78 -8
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.js +2 -3
- package/dist/adapters/postgresql/prompts/backup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.js +3 -4
- package/dist/adapters/postgresql/prompts/citext.js.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.js +2 -3
- package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/health.js +2 -3
- package/dist/adapters/postgresql/prompts/health.js.map +1 -1
- package/dist/adapters/postgresql/prompts/index.js +20 -27
- package/dist/adapters/postgresql/prompts/index.js.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.js +2 -3
- package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.js +3 -4
- package/dist/adapters/postgresql/prompts/kcache.js.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.js +5 -6
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.js +2 -3
- package/dist/adapters/postgresql/prompts/partman.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.js +2 -3
- package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.js +3 -4
- package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.js +3 -4
- package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.js +2 -3
- package/dist/adapters/postgresql/prompts/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
- package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.js +10 -5
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +8 -4
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +11 -4
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core.d.ts +54 -19
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/core.js +65 -17
- package/dist/adapters/postgresql/schemas/core.js.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +64 -44
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +168 -73
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.js +179 -62
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
- package/dist/adapters/postgresql/schemas/index.d.ts +5 -5
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +9 -7
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -42
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +101 -30
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -11
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +49 -24
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +15 -11
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +17 -13
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +62 -31
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +86 -24
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.js +20 -3
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -23
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +69 -26
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.js +36 -20
- package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.d.ts +8 -5
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +15 -5
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/admin.js +211 -140
- package/dist/adapters/postgresql/tools/admin.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +410 -387
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.js +175 -172
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/citext.js +221 -163
- package/dist/adapters/postgresql/tools/citext.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +96 -9
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +23 -6
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +45 -4
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.js +104 -85
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.js +100 -42
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +52 -25
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +55 -25
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.js +74 -30
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/cron.js +274 -179
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +372 -284
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js +617 -398
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +282 -220
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +126 -35
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.js +59 -40
- package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.js +150 -15
- package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +12 -5
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +135 -22
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.js +264 -160
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
- package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +44 -7
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.js +92 -81
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.js +128 -37
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.js +242 -87
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.js +293 -201
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +359 -249
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
- package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/schema.js +515 -226
- package/dist/adapters/postgresql/tools/schema.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +515 -476
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.js +302 -293
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/text.js +398 -220
- package/dist/adapters/postgresql/tools/text.js.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +157 -50
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +70 -38
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts +8 -0
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +194 -82
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/api.js +4 -3
- package/dist/codemode/api.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +1 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +76 -34
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +29 -13
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +44 -27
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-utils.js +1 -1
- package/dist/utils/progress-utils.js.map +1 -1
- package/package.json +13 -9
|
@@ -9,28 +9,66 @@ import { IndexStatsOutputSchema, TableStatsOutputSchema, StatStatementsOutputSch
|
|
|
9
9
|
const defaultToEmpty = (val) => val ?? {};
|
|
10
10
|
// Helper to coerce string numbers to JavaScript numbers (PostgreSQL returns BIGINT as strings)
|
|
11
11
|
const toNum = (val) => val === null || val === undefined ? null : Number(val);
|
|
12
|
+
/**
|
|
13
|
+
* P154: Validate that a table exists before executing performance queries.
|
|
14
|
+
* When a specific table/schema is provided, checks existence first to return
|
|
15
|
+
* a structured error instead of silently returning empty results.
|
|
16
|
+
*/
|
|
17
|
+
async function validatePerformanceTableExists(adapter, table, schema) {
|
|
18
|
+
// Only validate when a specific table or schema is requested
|
|
19
|
+
if (!table && !schema)
|
|
20
|
+
return null;
|
|
21
|
+
// Check schema existence first for granular error messages
|
|
22
|
+
if (schema) {
|
|
23
|
+
const schemaResult = await adapter.executeQuery(`SELECT 1 FROM information_schema.schemata WHERE schema_name = $1`, [schema]);
|
|
24
|
+
if (!schemaResult.rows || schemaResult.rows.length === 0) {
|
|
25
|
+
return `Schema '${schema}' does not exist. Use pg_list_objects with type 'table' to see available schemas.`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Check table existence within the schema
|
|
29
|
+
if (table) {
|
|
30
|
+
const targetSchema = schema ?? "public";
|
|
31
|
+
const tableResult = await adapter.executeQuery(`SELECT 1 FROM information_schema.tables WHERE table_schema = $1 AND table_name = $2`, [targetSchema, table]);
|
|
32
|
+
if (!tableResult.rows || tableResult.rows.length === 0) {
|
|
33
|
+
return `Table '${targetSchema}.${table}' not found. Use pg_list_tables to see available tables.`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
12
38
|
export function createIndexStatsTool(adapter) {
|
|
13
39
|
// Define schema locally with limit parameter
|
|
14
|
-
const
|
|
40
|
+
const IndexStatsSchemaLocalBase = z.object({
|
|
15
41
|
table: z.string().optional().describe("Table name to filter indexes"),
|
|
16
42
|
schema: z.string().optional().describe("Schema name to filter indexes"),
|
|
17
43
|
limit: z
|
|
18
44
|
.number()
|
|
19
45
|
.optional()
|
|
20
46
|
.describe("Max rows to return (default: 50, use 0 for all)"),
|
|
21
|
-
})
|
|
47
|
+
});
|
|
48
|
+
const IndexStatsSchemaLocal = z.preprocess(defaultToEmpty, IndexStatsSchemaLocalBase);
|
|
22
49
|
return {
|
|
23
50
|
name: "pg_index_stats",
|
|
24
51
|
description: "Get index usage statistics.",
|
|
25
52
|
group: "performance",
|
|
26
|
-
inputSchema:
|
|
53
|
+
inputSchema: IndexStatsSchemaLocalBase,
|
|
27
54
|
outputSchema: IndexStatsOutputSchema,
|
|
28
55
|
annotations: readOnly("Index Stats"),
|
|
29
56
|
icons: getToolIcons("performance", readOnly("Index Stats")),
|
|
30
57
|
handler: async (params, _context) => {
|
|
31
58
|
const parsed = IndexStatsSchemaLocal.parse(params);
|
|
32
|
-
|
|
59
|
+
let { table, schema } = parsed;
|
|
60
|
+
// Parse schema from table if it contains a dot (e.g., 'myschema.orders')
|
|
61
|
+
if (table?.includes(".")) {
|
|
62
|
+
const parts = table.split(".");
|
|
63
|
+
schema = schema ?? parts[0];
|
|
64
|
+
table = parts[1] ?? table;
|
|
65
|
+
}
|
|
33
66
|
const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
|
|
67
|
+
// P154: Validate table/schema existence before querying
|
|
68
|
+
const validationError = await validatePerformanceTableExists(adapter, table, schema);
|
|
69
|
+
if (validationError !== null) {
|
|
70
|
+
return { success: false, error: validationError };
|
|
71
|
+
}
|
|
34
72
|
let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
|
|
35
73
|
if (schema)
|
|
36
74
|
whereClause += ` AND schemaname = '${schema}'`;
|
|
@@ -62,34 +100,47 @@ export function createIndexStatsTool(adapter) {
|
|
|
62
100
|
response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
|
|
63
101
|
response["truncated"] = true;
|
|
64
102
|
}
|
|
103
|
+
else {
|
|
104
|
+
response["truncated"] = false;
|
|
105
|
+
response["totalCount"] = indexes.length;
|
|
106
|
+
}
|
|
65
107
|
return response;
|
|
66
108
|
},
|
|
67
109
|
};
|
|
68
110
|
}
|
|
69
111
|
export function createTableStatsTool(adapter) {
|
|
70
|
-
const
|
|
71
|
-
table: z
|
|
72
|
-
.string()
|
|
73
|
-
.optional()
|
|
74
|
-
.describe("Table name (all tables if omitted)"),
|
|
112
|
+
const TableStatsSchemaLocalBase = z.object({
|
|
113
|
+
table: z.string().optional().describe("Table name (all tables if omitted)"),
|
|
75
114
|
schema: z.string().optional().describe("Schema name"),
|
|
76
115
|
limit: z
|
|
77
116
|
.number()
|
|
78
117
|
.optional()
|
|
79
118
|
.describe("Max rows to return (default: 50, use 0 for all)"),
|
|
80
|
-
})
|
|
119
|
+
});
|
|
120
|
+
const TableStatsSchemaLocal = z.preprocess(defaultToEmpty, TableStatsSchemaLocalBase);
|
|
81
121
|
return {
|
|
82
122
|
name: "pg_table_stats",
|
|
83
123
|
description: "Get table access statistics.",
|
|
84
124
|
group: "performance",
|
|
85
|
-
inputSchema:
|
|
125
|
+
inputSchema: TableStatsSchemaLocalBase,
|
|
86
126
|
outputSchema: TableStatsOutputSchema,
|
|
87
127
|
annotations: readOnly("Table Stats"),
|
|
88
128
|
icons: getToolIcons("performance", readOnly("Table Stats")),
|
|
89
129
|
handler: async (params, _context) => {
|
|
90
130
|
const parsed = TableStatsSchemaLocal.parse(params);
|
|
91
|
-
|
|
131
|
+
let { table, schema } = parsed;
|
|
132
|
+
// Parse schema from table if it contains a dot (e.g., 'myschema.orders')
|
|
133
|
+
if (table?.includes(".")) {
|
|
134
|
+
const parts = table.split(".");
|
|
135
|
+
schema = schema ?? parts[0];
|
|
136
|
+
table = parts[1] ?? table;
|
|
137
|
+
}
|
|
92
138
|
const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
|
|
139
|
+
// P154: Validate table/schema existence before querying
|
|
140
|
+
const validationError = await validatePerformanceTableExists(adapter, table, schema);
|
|
141
|
+
if (validationError !== null) {
|
|
142
|
+
return { success: false, error: validationError };
|
|
143
|
+
}
|
|
93
144
|
let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
|
|
94
145
|
if (schema)
|
|
95
146
|
whereClause += ` AND schemaname = '${schema}'`;
|
|
@@ -129,12 +180,16 @@ export function createTableStatsTool(adapter) {
|
|
|
129
180
|
response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
|
|
130
181
|
response["truncated"] = true;
|
|
131
182
|
}
|
|
183
|
+
else {
|
|
184
|
+
response["truncated"] = false;
|
|
185
|
+
response["totalCount"] = tables.length;
|
|
186
|
+
}
|
|
132
187
|
return response;
|
|
133
188
|
},
|
|
134
189
|
};
|
|
135
190
|
}
|
|
136
191
|
export function createStatStatementsTool(adapter) {
|
|
137
|
-
const
|
|
192
|
+
const StatStatementsSchemaBase = z.object({
|
|
138
193
|
limit: z
|
|
139
194
|
.number()
|
|
140
195
|
.optional()
|
|
@@ -143,12 +198,13 @@ export function createStatStatementsTool(adapter) {
|
|
|
143
198
|
.enum(["total_time", "calls", "mean_time", "rows"])
|
|
144
199
|
.optional()
|
|
145
200
|
.describe("Sort order (default: total_time)"),
|
|
146
|
-
})
|
|
201
|
+
});
|
|
202
|
+
const StatStatementsSchema = z.preprocess(defaultToEmpty, StatStatementsSchemaBase);
|
|
147
203
|
return {
|
|
148
204
|
name: "pg_stat_statements",
|
|
149
205
|
description: "Get query statistics from pg_stat_statements (requires extension).",
|
|
150
206
|
group: "performance",
|
|
151
|
-
inputSchema:
|
|
207
|
+
inputSchema: StatStatementsSchemaBase,
|
|
152
208
|
outputSchema: StatStatementsOutputSchema,
|
|
153
209
|
annotations: readOnly("Query Statistics"),
|
|
154
210
|
icons: getToolIcons("performance", readOnly("Query Statistics")),
|
|
@@ -171,7 +227,10 @@ export function createStatStatementsTool(adapter) {
|
|
|
171
227
|
shared_blks_hit: toNum(row["shared_blks_hit"]),
|
|
172
228
|
shared_blks_read: toNum(row["shared_blks_read"]),
|
|
173
229
|
}));
|
|
174
|
-
const response = {
|
|
230
|
+
const response = {
|
|
231
|
+
statements,
|
|
232
|
+
count: statements.length,
|
|
233
|
+
};
|
|
175
234
|
// Add totalCount if results were limited
|
|
176
235
|
if (limit !== null && statements.length === limit) {
|
|
177
236
|
const countSql = `SELECT COUNT(*) as total FROM pg_stat_statements`;
|
|
@@ -184,14 +243,15 @@ export function createStatStatementsTool(adapter) {
|
|
|
184
243
|
};
|
|
185
244
|
}
|
|
186
245
|
export function createStatActivityTool(adapter) {
|
|
187
|
-
const
|
|
246
|
+
const StatActivitySchemaBase = z.object({
|
|
188
247
|
includeIdle: z.boolean().optional(),
|
|
189
|
-
})
|
|
248
|
+
});
|
|
249
|
+
const StatActivitySchema = z.preprocess(defaultToEmpty, StatActivitySchemaBase);
|
|
190
250
|
return {
|
|
191
251
|
name: "pg_stat_activity",
|
|
192
252
|
description: "Get currently running queries and connections.",
|
|
193
253
|
group: "performance",
|
|
194
|
-
inputSchema:
|
|
254
|
+
inputSchema: StatActivitySchemaBase,
|
|
195
255
|
outputSchema: StatActivityOutputSchema,
|
|
196
256
|
annotations: readOnly("Activity Stats"),
|
|
197
257
|
icons: getToolIcons("performance", readOnly("Activity Stats")),
|
|
@@ -203,15 +263,25 @@ export function createStatActivityTool(adapter) {
|
|
|
203
263
|
now() - query_start as duration,
|
|
204
264
|
query
|
|
205
265
|
FROM pg_stat_activity
|
|
206
|
-
WHERE pid != pg_backend_pid()
|
|
266
|
+
WHERE pid != pg_backend_pid()
|
|
267
|
+
AND backend_type = 'client backend'
|
|
268
|
+
${idleClause}
|
|
207
269
|
ORDER BY query_start`;
|
|
208
270
|
const result = await adapter.executeQuery(sql);
|
|
209
|
-
|
|
271
|
+
// Count background workers for metadata
|
|
272
|
+
const bgResult = await adapter.executeQuery(`SELECT COUNT(*)::int as count FROM pg_stat_activity
|
|
273
|
+
WHERE pid != pg_backend_pid() AND backend_type != 'client backend'`);
|
|
274
|
+
const bgCount = bgResult.rows?.[0]?.["count"] ?? 0;
|
|
275
|
+
return {
|
|
276
|
+
connections: result.rows,
|
|
277
|
+
count: result.rows?.length ?? 0,
|
|
278
|
+
backgroundWorkers: bgCount,
|
|
279
|
+
};
|
|
210
280
|
},
|
|
211
281
|
};
|
|
212
282
|
}
|
|
213
283
|
export function createUnusedIndexesTool(adapter) {
|
|
214
|
-
const
|
|
284
|
+
const UnusedIndexesSchemaBase = z.object({
|
|
215
285
|
schema: z
|
|
216
286
|
.string()
|
|
217
287
|
.optional()
|
|
@@ -228,12 +298,13 @@ export function createUnusedIndexesTool(adapter) {
|
|
|
228
298
|
.boolean()
|
|
229
299
|
.optional()
|
|
230
300
|
.describe("Return aggregated summary instead of full list"),
|
|
231
|
-
})
|
|
301
|
+
});
|
|
302
|
+
const UnusedIndexesSchema = z.preprocess(defaultToEmpty, UnusedIndexesSchemaBase);
|
|
232
303
|
return {
|
|
233
304
|
name: "pg_unused_indexes",
|
|
234
305
|
description: "Find indexes that have never been used (idx_scan = 0). Candidates for removal.",
|
|
235
306
|
group: "performance",
|
|
236
|
-
inputSchema:
|
|
307
|
+
inputSchema: UnusedIndexesSchemaBase,
|
|
237
308
|
outputSchema: UnusedIndexesOutputSchema,
|
|
238
309
|
annotations: readOnly("Unused Indexes"),
|
|
239
310
|
icons: getToolIcons("performance", readOnly("Unused Indexes")),
|
|
@@ -306,7 +377,7 @@ export function createUnusedIndexesTool(adapter) {
|
|
|
306
377
|
};
|
|
307
378
|
}
|
|
308
379
|
export function createDuplicateIndexesTool(adapter) {
|
|
309
|
-
const
|
|
380
|
+
const DuplicateIndexesSchemaBase = z.object({
|
|
310
381
|
schema: z
|
|
311
382
|
.string()
|
|
312
383
|
.optional()
|
|
@@ -315,12 +386,13 @@ export function createDuplicateIndexesTool(adapter) {
|
|
|
315
386
|
.number()
|
|
316
387
|
.optional()
|
|
317
388
|
.describe("Max rows to return (default: 50, use 0 for all)"),
|
|
318
|
-
})
|
|
389
|
+
});
|
|
390
|
+
const DuplicateIndexesSchema = z.preprocess(defaultToEmpty, DuplicateIndexesSchemaBase);
|
|
319
391
|
return {
|
|
320
392
|
name: "pg_duplicate_indexes",
|
|
321
393
|
description: "Find duplicate or overlapping indexes (same leading columns). Candidates for consolidation.",
|
|
322
394
|
group: "performance",
|
|
323
|
-
inputSchema:
|
|
395
|
+
inputSchema: DuplicateIndexesSchemaBase,
|
|
324
396
|
outputSchema: DuplicateIndexesOutputSchema,
|
|
325
397
|
annotations: readOnly("Duplicate Indexes"),
|
|
326
398
|
icons: getToolIcons("performance", readOnly("Duplicate Indexes")),
|
|
@@ -408,30 +480,44 @@ export function createDuplicateIndexesTool(adapter) {
|
|
|
408
480
|
};
|
|
409
481
|
}
|
|
410
482
|
export function createVacuumStatsTool(adapter) {
|
|
411
|
-
const
|
|
483
|
+
const VacuumStatsSchemaBase = z.object({
|
|
412
484
|
schema: z.string().optional().describe("Schema to filter"),
|
|
413
485
|
table: z.string().optional().describe("Table name to filter"),
|
|
414
486
|
limit: z
|
|
415
487
|
.number()
|
|
416
488
|
.optional()
|
|
417
489
|
.describe("Max rows to return (default: 50, use 0 for all)"),
|
|
418
|
-
})
|
|
490
|
+
});
|
|
491
|
+
const VacuumStatsSchema = z.preprocess(defaultToEmpty, VacuumStatsSchemaBase);
|
|
419
492
|
return {
|
|
420
493
|
name: "pg_vacuum_stats",
|
|
421
494
|
description: "Get detailed vacuum statistics including dead tuples, last vacuum times, and wraparound risk.",
|
|
422
495
|
group: "performance",
|
|
423
|
-
inputSchema:
|
|
496
|
+
inputSchema: VacuumStatsSchemaBase,
|
|
424
497
|
outputSchema: VacuumStatsOutputSchema,
|
|
425
498
|
annotations: readOnly("Vacuum Stats"),
|
|
426
499
|
icons: getToolIcons("performance", readOnly("Vacuum Stats")),
|
|
427
500
|
handler: async (params, _context) => {
|
|
428
501
|
const parsed = VacuumStatsSchema.parse(params);
|
|
502
|
+
let table = parsed.table;
|
|
503
|
+
let schema = parsed.schema;
|
|
504
|
+
// Parse schema from table if it contains a dot (e.g., 'myschema.orders')
|
|
505
|
+
if (table?.includes(".")) {
|
|
506
|
+
const parts = table.split(".");
|
|
507
|
+
schema = schema ?? parts[0];
|
|
508
|
+
table = parts[1] ?? table;
|
|
509
|
+
}
|
|
429
510
|
const limit = parsed.limit === 0 ? null : (parsed.limit ?? 50);
|
|
430
511
|
let whereClause = "schemaname NOT IN ('pg_catalog', 'information_schema')";
|
|
431
|
-
if (
|
|
432
|
-
whereClause += ` AND schemaname = '${
|
|
433
|
-
if (
|
|
434
|
-
whereClause += ` AND relname = '${
|
|
512
|
+
if (schema !== undefined)
|
|
513
|
+
whereClause += ` AND schemaname = '${schema}'`;
|
|
514
|
+
if (table !== undefined)
|
|
515
|
+
whereClause += ` AND relname = '${table}'`;
|
|
516
|
+
// P154: Validate table/schema existence before querying
|
|
517
|
+
const validationError = await validatePerformanceTableExists(adapter, table, schema);
|
|
518
|
+
if (validationError !== null) {
|
|
519
|
+
return { success: false, error: validationError };
|
|
520
|
+
}
|
|
435
521
|
const sql = `SELECT
|
|
436
522
|
s.schemaname, s.relname as table_name,
|
|
437
523
|
s.n_live_tup as live_tuples, s.n_dead_tup as dead_tuples,
|
|
@@ -475,12 +561,16 @@ export function createVacuumStatsTool(adapter) {
|
|
|
475
561
|
response["totalCount"] = toNum(countResult.rows?.[0]?.["total"]);
|
|
476
562
|
response["truncated"] = true;
|
|
477
563
|
}
|
|
564
|
+
else {
|
|
565
|
+
response["truncated"] = false;
|
|
566
|
+
response["totalCount"] = tables.length;
|
|
567
|
+
}
|
|
478
568
|
return response;
|
|
479
569
|
},
|
|
480
570
|
};
|
|
481
571
|
}
|
|
482
572
|
export function createQueryPlanStatsTool(adapter) {
|
|
483
|
-
const
|
|
573
|
+
const QueryPlanStatsSchemaBase = z.object({
|
|
484
574
|
limit: z
|
|
485
575
|
.number()
|
|
486
576
|
.optional()
|
|
@@ -489,12 +579,13 @@ export function createQueryPlanStatsTool(adapter) {
|
|
|
489
579
|
.number()
|
|
490
580
|
.optional()
|
|
491
581
|
.describe("Max query length in chars (default: 100, use 0 for full text)"),
|
|
492
|
-
})
|
|
582
|
+
});
|
|
583
|
+
const QueryPlanStatsSchema = z.preprocess(defaultToEmpty, QueryPlanStatsSchemaBase);
|
|
493
584
|
return {
|
|
494
585
|
name: "pg_query_plan_stats",
|
|
495
586
|
description: "Get query plan statistics showing planning time vs execution time (requires pg_stat_statements).",
|
|
496
587
|
group: "performance",
|
|
497
|
-
inputSchema:
|
|
588
|
+
inputSchema: QueryPlanStatsSchemaBase,
|
|
498
589
|
outputSchema: QueryPlanStatsOutputSchema,
|
|
499
590
|
annotations: readOnly("Query Plan Stats"),
|
|
500
591
|
icons: getToolIcons("performance", readOnly("Query Plan Stats")),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/stats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgcrypto.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/pgcrypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pgcrypto.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/pgcrypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AA+B9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAY3E"}
|