@neverinfamous/postgres-mcp 1.0.1
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/LICENSE +21 -0
- package/README.md +515 -0
- package/dist/__tests__/mocks/adapter.d.ts +80 -0
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -0
- package/dist/__tests__/mocks/adapter.js +225 -0
- package/dist/__tests__/mocks/adapter.js.map +1 -0
- package/dist/__tests__/mocks/index.d.ts +11 -0
- package/dist/__tests__/mocks/index.d.ts.map +1 -0
- package/dist/__tests__/mocks/index.js +11 -0
- package/dist/__tests__/mocks/index.js.map +1 -0
- package/dist/__tests__/mocks/pool.d.ts +43 -0
- package/dist/__tests__/mocks/pool.d.ts.map +1 -0
- package/dist/__tests__/mocks/pool.js +71 -0
- package/dist/__tests__/mocks/pool.js.map +1 -0
- package/dist/adapters/DatabaseAdapter.d.ts +139 -0
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
- package/dist/adapters/DatabaseAdapter.js +250 -0
- package/dist/adapters/DatabaseAdapter.js.map +1 -0
- package/dist/adapters/postgresql/PostgresAdapter.d.ts +119 -0
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -0
- package/dist/adapters/postgresql/PostgresAdapter.js +902 -0
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -0
- package/dist/adapters/postgresql/index.d.ts +5 -0
- package/dist/adapters/postgresql/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/index.js +5 -0
- package/dist/adapters/postgresql/index.js.map +1 -0
- package/dist/adapters/postgresql/prompts/backup.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/backup.js +132 -0
- package/dist/adapters/postgresql/prompts/backup.js.map +1 -0
- package/dist/adapters/postgresql/prompts/citext.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/citext.js +227 -0
- package/dist/adapters/postgresql/prompts/citext.js.map +1 -0
- package/dist/adapters/postgresql/prompts/extensionSetup.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/extensionSetup.js +282 -0
- package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -0
- package/dist/adapters/postgresql/prompts/health.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/health.js +118 -0
- package/dist/adapters/postgresql/prompts/health.js.map +1 -0
- package/dist/adapters/postgresql/prompts/index.d.ts +13 -0
- package/dist/adapters/postgresql/prompts/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/index.js +308 -0
- package/dist/adapters/postgresql/prompts/index.js.map +1 -0
- package/dist/adapters/postgresql/prompts/indexTuning.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/indexTuning.js +130 -0
- package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -0
- package/dist/adapters/postgresql/prompts/kcache.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/kcache.js +227 -0
- package/dist/adapters/postgresql/prompts/kcache.js.map +1 -0
- package/dist/adapters/postgresql/prompts/ltree.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/ltree.js +286 -0
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -0
- package/dist/adapters/postgresql/prompts/partman.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/partman.js +211 -0
- package/dist/adapters/postgresql/prompts/partman.js.map +1 -0
- package/dist/adapters/postgresql/prompts/pgcron.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/pgcron.js +233 -0
- package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -0
- package/dist/adapters/postgresql/prompts/pgcrypto.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/pgcrypto.js +299 -0
- package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -0
- package/dist/adapters/postgresql/prompts/pgvector.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/pgvector.js +148 -0
- package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -0
- package/dist/adapters/postgresql/prompts/postgis.d.ts +8 -0
- package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -0
- package/dist/adapters/postgresql/prompts/postgis.js +200 -0
- package/dist/adapters/postgresql/prompts/postgis.js.map +1 -0
- package/dist/adapters/postgresql/resources/activity.d.ts +9 -0
- package/dist/adapters/postgresql/resources/activity.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/activity.js +118 -0
- package/dist/adapters/postgresql/resources/activity.js.map +1 -0
- package/dist/adapters/postgresql/resources/capabilities.d.ts +9 -0
- package/dist/adapters/postgresql/resources/capabilities.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/capabilities.js +182 -0
- package/dist/adapters/postgresql/resources/capabilities.js.map +1 -0
- package/dist/adapters/postgresql/resources/cron.d.ts +9 -0
- package/dist/adapters/postgresql/resources/cron.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/cron.js +156 -0
- package/dist/adapters/postgresql/resources/cron.js.map +1 -0
- package/dist/adapters/postgresql/resources/crypto.d.ts +9 -0
- package/dist/adapters/postgresql/resources/crypto.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/crypto.js +191 -0
- package/dist/adapters/postgresql/resources/crypto.js.map +1 -0
- package/dist/adapters/postgresql/resources/extensions.d.ts +9 -0
- package/dist/adapters/postgresql/resources/extensions.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/extensions.js +85 -0
- package/dist/adapters/postgresql/resources/extensions.js.map +1 -0
- package/dist/adapters/postgresql/resources/health.d.ts +9 -0
- package/dist/adapters/postgresql/resources/health.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/health.js +185 -0
- package/dist/adapters/postgresql/resources/health.js.map +1 -0
- package/dist/adapters/postgresql/resources/index.d.ts +40 -0
- package/dist/adapters/postgresql/resources/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/index.js +87 -0
- package/dist/adapters/postgresql/resources/index.js.map +1 -0
- package/dist/adapters/postgresql/resources/indexes.d.ts +9 -0
- package/dist/adapters/postgresql/resources/indexes.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/indexes.js +130 -0
- package/dist/adapters/postgresql/resources/indexes.js.map +1 -0
- package/dist/adapters/postgresql/resources/kcache.d.ts +9 -0
- package/dist/adapters/postgresql/resources/kcache.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/kcache.js +219 -0
- package/dist/adapters/postgresql/resources/kcache.js.map +1 -0
- package/dist/adapters/postgresql/resources/locks.d.ts +9 -0
- package/dist/adapters/postgresql/resources/locks.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/locks.js +89 -0
- package/dist/adapters/postgresql/resources/locks.js.map +1 -0
- package/dist/adapters/postgresql/resources/partman.d.ts +9 -0
- package/dist/adapters/postgresql/resources/partman.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/partman.js +149 -0
- package/dist/adapters/postgresql/resources/partman.js.map +1 -0
- package/dist/adapters/postgresql/resources/performance.d.ts +9 -0
- package/dist/adapters/postgresql/resources/performance.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/performance.js +170 -0
- package/dist/adapters/postgresql/resources/performance.js.map +1 -0
- package/dist/adapters/postgresql/resources/pool.d.ts +9 -0
- package/dist/adapters/postgresql/resources/pool.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/pool.js +93 -0
- package/dist/adapters/postgresql/resources/pool.js.map +1 -0
- package/dist/adapters/postgresql/resources/postgis.d.ts +9 -0
- package/dist/adapters/postgresql/resources/postgis.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/postgis.js +232 -0
- package/dist/adapters/postgresql/resources/postgis.js.map +1 -0
- package/dist/adapters/postgresql/resources/replication.d.ts +9 -0
- package/dist/adapters/postgresql/resources/replication.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/replication.js +126 -0
- package/dist/adapters/postgresql/resources/replication.js.map +1 -0
- package/dist/adapters/postgresql/resources/schema.d.ts +10 -0
- package/dist/adapters/postgresql/resources/schema.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/schema.js +80 -0
- package/dist/adapters/postgresql/resources/schema.js.map +1 -0
- package/dist/adapters/postgresql/resources/settings.d.ts +9 -0
- package/dist/adapters/postgresql/resources/settings.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/settings.js +184 -0
- package/dist/adapters/postgresql/resources/settings.js.map +1 -0
- package/dist/adapters/postgresql/resources/stats.d.ts +10 -0
- package/dist/adapters/postgresql/resources/stats.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/stats.js +124 -0
- package/dist/adapters/postgresql/resources/stats.js.map +1 -0
- package/dist/adapters/postgresql/resources/tables.d.ts +9 -0
- package/dist/adapters/postgresql/resources/tables.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/tables.js +20 -0
- package/dist/adapters/postgresql/resources/tables.js.map +1 -0
- package/dist/adapters/postgresql/resources/vacuum.d.ts +9 -0
- package/dist/adapters/postgresql/resources/vacuum.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/vacuum.js +122 -0
- package/dist/adapters/postgresql/resources/vacuum.js.map +1 -0
- package/dist/adapters/postgresql/resources/vector.d.ts +9 -0
- package/dist/adapters/postgresql/resources/vector.d.ts.map +1 -0
- package/dist/adapters/postgresql/resources/vector.js +185 -0
- package/dist/adapters/postgresql/resources/vector.js.map +1 -0
- package/dist/adapters/postgresql/schemas/admin.d.ts +74 -0
- package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/admin.js +180 -0
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -0
- package/dist/adapters/postgresql/schemas/backup.d.ts +68 -0
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/backup.js +114 -0
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -0
- package/dist/adapters/postgresql/schemas/core.d.ts +443 -0
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/core.js +628 -0
- package/dist/adapters/postgresql/schemas/core.js.map +1 -0
- package/dist/adapters/postgresql/schemas/cron.d.ts +131 -0
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/cron.js +218 -0
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions.d.ts +403 -0
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions.js +600 -0
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -0
- package/dist/adapters/postgresql/schemas/index.d.ts +21 -0
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/index.js +72 -0
- package/dist/adapters/postgresql/schemas/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -0
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb.js +198 -0
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -0
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -0
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/monitoring.js +45 -0
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -0
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +152 -0
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/partitioning.js +399 -0
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -0
- package/dist/adapters/postgresql/schemas/partman.d.ts +94 -0
- package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/partman.js +264 -0
- package/dist/adapters/postgresql/schemas/partman.js.map +1 -0
- package/dist/adapters/postgresql/schemas/performance.d.ts +52 -0
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/performance.js +57 -0
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts +693 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis.js +662 -0
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +171 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +235 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -0
- package/dist/adapters/postgresql/schemas/stats.d.ts +229 -0
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/stats.js +587 -0
- package/dist/adapters/postgresql/schemas/stats.js.map +1 -0
- package/dist/adapters/postgresql/schemas/text-search.d.ts +83 -0
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/text-search.js +132 -0
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -0
- package/dist/adapters/postgresql/schemas/vector.d.ts +143 -0
- package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/vector.js +123 -0
- package/dist/adapters/postgresql/schemas/vector.js.map +1 -0
- package/dist/adapters/postgresql/tools/admin.d.ts +13 -0
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/admin.js +417 -0
- package/dist/adapters/postgresql/tools/admin.js.map +1 -0
- package/dist/adapters/postgresql/tools/backup/dump.d.ts +12 -0
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/backup/dump.js +546 -0
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -0
- package/dist/adapters/postgresql/tools/backup/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/backup/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/backup/index.js +29 -0
- package/dist/adapters/postgresql/tools/backup/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/backup/planning.d.ts +22 -0
- package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/backup/planning.js +411 -0
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -0
- package/dist/adapters/postgresql/tools/citext.d.ts +18 -0
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/citext.js +568 -0
- package/dist/adapters/postgresql/tools/citext.js.map +1 -0
- package/dist/adapters/postgresql/tools/codemode/index.d.ts +27 -0
- package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/codemode/index.js +171 -0
- package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +192 -0
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/convenience.js +617 -0
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/health.d.ts +20 -0
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/health.js +360 -0
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/index.js +40 -0
- package/dist/adapters/postgresql/tools/core/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/indexes.d.ts +30 -0
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/indexes.js +232 -0
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/objects.d.ts +20 -0
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/objects.js +361 -0
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/query.d.ts +16 -0
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/query.js +87 -0
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +135 -0
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/schemas.js +221 -0
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/tables.d.ts +24 -0
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/tables.js +219 -0
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -0
- package/dist/adapters/postgresql/tools/cron.d.ts +16 -0
- package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/cron.js +440 -0
- package/dist/adapters/postgresql/tools/cron.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts +33 -0
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +681 -0
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +20 -0
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/basic.js +654 -0
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/index.js +39 -0
- package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/kcache.d.ts +20 -0
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/kcache.js +574 -0
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -0
- package/dist/adapters/postgresql/tools/ltree.d.ts +8 -0
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/ltree.js +390 -0
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring.d.ts +13 -0
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring.js +753 -0
- package/dist/adapters/postgresql/tools/monitoring.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning.d.ts +13 -0
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning.js +500 -0
- package/dist/adapters/postgresql/tools/partitioning.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/index.d.ts +19 -0
- package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/index.js +33 -0
- package/dist/adapters/postgresql/tools/partman/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/management.d.ts +28 -0
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/management.js +563 -0
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/operations.d.ts +28 -0
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/operations.js +632 -0
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts +9 -0
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/analysis.js +383 -0
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/explain.d.ts +13 -0
- package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/explain.js +71 -0
- package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/index.d.ts +13 -0
- package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/index.js +40 -0
- package/dist/adapters/postgresql/tools/performance/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts +9 -0
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/monitoring.js +122 -0
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts +9 -0
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/optimization.js +315 -0
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/stats.d.ts +14 -0
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/stats.js +559 -0
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -0
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts +8 -0
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/pgcrypto.js +239 -0
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts +21 -0
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/advanced.js +383 -0
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts +16 -0
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/basic.js +479 -0
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/index.d.ts +17 -0
- package/dist/adapters/postgresql/tools/postgis/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/index.js +46 -0
- package/dist/adapters/postgresql/tools/postgis/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts +21 -0
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/postgis/standalone.js +150 -0
- package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -0
- package/dist/adapters/postgresql/tools/schema.d.ts +13 -0
- package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/schema.js +515 -0
- package/dist/adapters/postgresql/tools/schema.js.map +1 -0
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts +24 -0
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/stats/advanced.js +876 -0
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -0
- package/dist/adapters/postgresql/tools/stats/basic.d.ts +24 -0
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/stats/basic.js +501 -0
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/stats/index.d.ts +17 -0
- package/dist/adapters/postgresql/tools/stats/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/stats/index.js +30 -0
- package/dist/adapters/postgresql/tools/stats/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/text.d.ts +13 -0
- package/dist/adapters/postgresql/tools/text.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text.js +708 -0
- package/dist/adapters/postgresql/tools/text.js.map +1 -0
- package/dist/adapters/postgresql/tools/transactions.d.ts +13 -0
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/transactions.js +201 -0
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts +12 -0
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/advanced.js +902 -0
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/basic.d.ts +25 -0
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/basic.js +1000 -0
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/index.d.ts +13 -0
- package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/index.js +33 -0
- package/dist/adapters/postgresql/tools/vector/index.js.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts +44 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.js +117 -0
- package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
- package/dist/auth/OAuthResourceServer.d.ts +42 -0
- package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
- package/dist/auth/OAuthResourceServer.js +80 -0
- package/dist/auth/OAuthResourceServer.js.map +1 -0
- package/dist/auth/TokenValidator.d.ts +36 -0
- package/dist/auth/TokenValidator.d.ts.map +1 -0
- package/dist/auth/TokenValidator.js +139 -0
- package/dist/auth/TokenValidator.js.map +1 -0
- package/dist/auth/errors.d.ts +63 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +102 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +61 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +156 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/scopes.d.ts +65 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/scopes.js +189 -0
- package/dist/auth/scopes.js.map +1 -0
- package/dist/auth/types.d.ts +208 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli/args.d.ts +34 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +308 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +341 -0
- package/dist/cli.js.map +1 -0
- package/dist/codemode/api.d.ts +62 -0
- package/dist/codemode/api.d.ts.map +1 -0
- package/dist/codemode/api.js +1505 -0
- package/dist/codemode/api.js.map +1 -0
- package/dist/codemode/index.d.ts +13 -0
- package/dist/codemode/index.d.ts.map +1 -0
- package/dist/codemode/index.js +17 -0
- package/dist/codemode/index.js.map +1 -0
- package/dist/codemode/sandbox-factory.d.ts +72 -0
- package/dist/codemode/sandbox-factory.d.ts.map +1 -0
- package/dist/codemode/sandbox-factory.js +88 -0
- package/dist/codemode/sandbox-factory.js.map +1 -0
- package/dist/codemode/sandbox.d.ts +96 -0
- package/dist/codemode/sandbox.d.ts.map +1 -0
- package/dist/codemode/sandbox.js +345 -0
- package/dist/codemode/sandbox.js.map +1 -0
- package/dist/codemode/security.d.ts +44 -0
- package/dist/codemode/security.d.ts.map +1 -0
- package/dist/codemode/security.js +149 -0
- package/dist/codemode/security.js.map +1 -0
- package/dist/codemode/types.d.ts +137 -0
- package/dist/codemode/types.d.ts.map +1 -0
- package/dist/codemode/types.js +46 -0
- package/dist/codemode/types.js.map +1 -0
- package/dist/codemode/worker-sandbox.d.ts +82 -0
- package/dist/codemode/worker-sandbox.d.ts.map +1 -0
- package/dist/codemode/worker-sandbox.js +244 -0
- package/dist/codemode/worker-sandbox.js.map +1 -0
- package/dist/codemode/worker-script.d.ts +8 -0
- package/dist/codemode/worker-script.d.ts.map +1 -0
- package/dist/codemode/worker-script.js +113 -0
- package/dist/codemode/worker-script.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +13 -0
- package/dist/constants/ServerInstructions.d.ts.map +1 -0
- package/dist/constants/ServerInstructions.js +405 -0
- package/dist/constants/ServerInstructions.js.map +1 -0
- package/dist/filtering/ToolConstants.d.ts +43 -0
- package/dist/filtering/ToolConstants.d.ts.map +1 -0
- package/dist/filtering/ToolConstants.js +352 -0
- package/dist/filtering/ToolConstants.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +90 -0
- package/dist/filtering/ToolFilter.d.ts.map +1 -0
- package/dist/filtering/ToolFilter.js +315 -0
- package/dist/filtering/ToolFilter.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/pool/ConnectionPool.d.ts +70 -0
- package/dist/pool/ConnectionPool.d.ts.map +1 -0
- package/dist/pool/ConnectionPool.js +254 -0
- package/dist/pool/ConnectionPool.js.map +1 -0
- package/dist/server/McpServer.d.ts +50 -0
- package/dist/server/McpServer.d.ts.map +1 -0
- package/dist/server/McpServer.js +108 -0
- package/dist/server/McpServer.js.map +1 -0
- package/dist/transports/http.d.ts +126 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +303 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/index.d.ts +8 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +7 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/adapters.d.ts +136 -0
- package/dist/types/adapters.d.ts.map +1 -0
- package/dist/types/adapters.js +7 -0
- package/dist/types/adapters.js.map +1 -0
- package/dist/types/database.d.ts +204 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/database.js +7 -0
- package/dist/types/database.js.map +1 -0
- package/dist/types/errors.d.ts +62 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +91 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/filtering.d.ts +39 -0
- package/dist/types/filtering.d.ts.map +1 -0
- package/dist/types/filtering.js +7 -0
- package/dist/types/filtering.js.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mcp.d.ts +31 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +7 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/oauth.d.ts +65 -0
- package/dist/types/oauth.d.ts.map +1 -0
- package/dist/types/oauth.js +7 -0
- package/dist/types/oauth.js.map +1 -0
- package/dist/types/schema.d.ts +110 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +7 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/utils/annotations.d.ts +42 -0
- package/dist/utils/annotations.d.ts.map +1 -0
- package/dist/utils/annotations.js +75 -0
- package/dist/utils/annotations.js.map +1 -0
- package/dist/utils/icons.d.ts +25 -0
- package/dist/utils/icons.d.ts.map +1 -0
- package/dist/utils/icons.js +212 -0
- package/dist/utils/icons.js.map +1 -0
- package/dist/utils/identifiers.d.ts +111 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +270 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/logger.d.ts +141 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +304 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/promptGenerator.d.ts +20 -0
- package/dist/utils/promptGenerator.d.ts.map +1 -0
- package/dist/utils/promptGenerator.js +81 -0
- package/dist/utils/promptGenerator.js.map +1 -0
- package/dist/utils/resourceAnnotations.d.ts +36 -0
- package/dist/utils/resourceAnnotations.d.ts.map +1 -0
- package/dist/utils/resourceAnnotations.js +57 -0
- package/dist/utils/resourceAnnotations.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresAdapter.js","sourceRoot":"","sources":["../../../src/adapters/postgresql/PostgresAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgresql/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/postgresql/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backup Strategy Prompt
|
|
3
|
+
*
|
|
4
|
+
* Enterprise backup planning with RTO/RPO considerations.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from "../../../types/index.js";
|
|
7
|
+
export declare function createBackupStrategyPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/prompts/backup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAmI7D"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backup Strategy Prompt
|
|
3
|
+
*
|
|
4
|
+
* Enterprise backup planning with RTO/RPO considerations.
|
|
5
|
+
*/
|
|
6
|
+
export function createBackupStrategyPrompt() {
|
|
7
|
+
return {
|
|
8
|
+
name: "pg_backup_strategy",
|
|
9
|
+
description: "Design enterprise backup strategy with logical, physical, and continuous archiving options.",
|
|
10
|
+
arguments: [
|
|
11
|
+
{
|
|
12
|
+
name: "backupType",
|
|
13
|
+
description: "Backup type: logical, physical, or continuous",
|
|
14
|
+
required: false,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "retentionDays",
|
|
18
|
+
description: "Retention period in days (default: 30)",
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
23
|
+
handler: async (args, _context) => {
|
|
24
|
+
const backupType = args["backupType"] ?? "logical";
|
|
25
|
+
const retentionDays = args["retentionDays"] ?? "30";
|
|
26
|
+
let content = `# Enterprise Backup Strategy - ${backupType.charAt(0).toUpperCase() + backupType.slice(1)} Backup
|
|
27
|
+
|
|
28
|
+
Retention Period: **${retentionDays} days**
|
|
29
|
+
|
|
30
|
+
## Backup Types Overview
|
|
31
|
+
|
|
32
|
+
**Logical Backup (pg_dump/pg_dumpall):**
|
|
33
|
+
- ✅ Portable across PostgreSQL versions
|
|
34
|
+
- ✅ Selective backup (specific schemas/tables)
|
|
35
|
+
- ❌ Slower for large databases
|
|
36
|
+
|
|
37
|
+
**Physical Backup (pg_basebackup):**
|
|
38
|
+
- ✅ Fast backup for large databases
|
|
39
|
+
- ✅ Supports point-in-time recovery (PITR)
|
|
40
|
+
- ❌ PostgreSQL version specific
|
|
41
|
+
|
|
42
|
+
**Continuous Archiving (WAL):**
|
|
43
|
+
- ✅ Point-in-time recovery to any second
|
|
44
|
+
- ✅ Minimal data loss (RPO < 1 minute)
|
|
45
|
+
- ❌ More complex to set up
|
|
46
|
+
|
|
47
|
+
## Setup Steps
|
|
48
|
+
|
|
49
|
+
### 1. Assess Database Size
|
|
50
|
+
|
|
51
|
+
\`\`\`sql
|
|
52
|
+
SELECT pg_size_pretty(pg_database_size(current_database())) as total_size;
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
Use \`pg_capacity_planning\` to analyze growth patterns.
|
|
56
|
+
|
|
57
|
+
### 2. Backup Schedule
|
|
58
|
+
`;
|
|
59
|
+
if (backupType === "logical") {
|
|
60
|
+
content += `
|
|
61
|
+
**Logical Backup Schedule:**
|
|
62
|
+
|
|
63
|
+
- **Full Backup:** Daily at 2:00 AM
|
|
64
|
+
\`\`\`bash
|
|
65
|
+
pg_dump -Fc -Z9 -f /backup/db_$(date +%Y%m%d).dump dbname
|
|
66
|
+
\`\`\`
|
|
67
|
+
|
|
68
|
+
- **Schema-Only Backup:** Daily at 1:00 AM
|
|
69
|
+
\`\`\`bash
|
|
70
|
+
pg_dump --schema-only -f /backup/schema_$(date +%Y%m%d).sql dbname
|
|
71
|
+
\`\`\`
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
else if (backupType === "physical") {
|
|
75
|
+
content += `
|
|
76
|
+
**Physical Backup Schedule:**
|
|
77
|
+
|
|
78
|
+
- **Base Backup:** Weekly on Sunday at 2:00 AM
|
|
79
|
+
\`\`\`bash
|
|
80
|
+
pg_basebackup -D /backup/base_$(date +%Y%m%d) -Ft -z -P
|
|
81
|
+
\`\`\`
|
|
82
|
+
|
|
83
|
+
- **WAL Archiving:** Configure in postgresql.conf
|
|
84
|
+
\`\`\`
|
|
85
|
+
archive_mode = on
|
|
86
|
+
archive_command = 'cp %p /backup/wal/%f'
|
|
87
|
+
\`\`\`
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
content += `
|
|
92
|
+
**Continuous Archiving Schedule:**
|
|
93
|
+
|
|
94
|
+
- **Base Backup:** Weekly on Sunday at 2:00 AM
|
|
95
|
+
- **WAL Archiving:** Continuous (every 16MB or 1 minute)
|
|
96
|
+
- **PITR:** Available to any point in time
|
|
97
|
+
`;
|
|
98
|
+
}
|
|
99
|
+
content += `
|
|
100
|
+
### 3. Implement Backup
|
|
101
|
+
|
|
102
|
+
Use \`pg_backup_logical\` or \`pg_backup_physical\` tool.
|
|
103
|
+
|
|
104
|
+
### 4. Validate Backup
|
|
105
|
+
|
|
106
|
+
Use \`pg_restore_validate\` to verify backup integrity:
|
|
107
|
+
- Check disk space
|
|
108
|
+
- Check connections
|
|
109
|
+
- Verify constraints
|
|
110
|
+
|
|
111
|
+
### 5. Recovery Procedures
|
|
112
|
+
|
|
113
|
+
**Full Database Restore:**
|
|
114
|
+
\`\`\`bash
|
|
115
|
+
dropdb dbname
|
|
116
|
+
createdb dbname
|
|
117
|
+
pg_restore -d dbname /backup/latest.dump
|
|
118
|
+
\`\`\`
|
|
119
|
+
|
|
120
|
+
## Disaster Recovery Plan
|
|
121
|
+
|
|
122
|
+
1. **RTO (Recovery Time Objective):** How quickly must database be restored?
|
|
123
|
+
2. **RPO (Recovery Point Objective):** How much data loss is acceptable?
|
|
124
|
+
3. **Off-site Backups:** Store copies in different location/cloud
|
|
125
|
+
4. **Test Restores:** Practice quarterly
|
|
126
|
+
|
|
127
|
+
**Pro Tip:** The best backup is the one you've successfully restored - test your backups regularly!`;
|
|
128
|
+
return content;
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/prompts/backup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,6FAA6F;QAC/F,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,+CAA+C;gBAC5D,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,4DAA4D;QAC5D,OAAO,EAAE,KAAK,EACZ,IAA4B,EAC5B,QAAwB,EACP,EAAE;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;YACnD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;YAEpD,IAAI,OAAO,GAAG,kCAAkC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;;sBAExF,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BlC,CAAC;YAEI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,IAAI;;;;;;;;;;;;CAYlB,CAAC;YACI,CAAC;iBAAM,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,IAAI;;;;;;;;;;;;;CAalB,CAAC;YACI,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI;;;;;;CAMlB,CAAC;YACI,CAAC;YAED,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA4BmF,CAAC;YAE/F,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* citext Setup Prompt
|
|
3
|
+
*
|
|
4
|
+
* Complete guide for setting up case-insensitive text with citext.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from "../../../types/index.js";
|
|
7
|
+
export declare function createSetupCitextPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=citext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citext.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/prompts/citext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAEhF,wBAAgB,uBAAuB,IAAI,gBAAgB,CAmO1D"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* citext Setup Prompt
|
|
3
|
+
*
|
|
4
|
+
* Complete guide for setting up case-insensitive text with citext.
|
|
5
|
+
*/
|
|
6
|
+
export function createSetupCitextPrompt() {
|
|
7
|
+
return {
|
|
8
|
+
name: "pg_setup_citext",
|
|
9
|
+
description: "Complete guide for setting up case-insensitive text columns with citext for emails, usernames, and tags.",
|
|
10
|
+
arguments: [
|
|
11
|
+
{
|
|
12
|
+
name: "useCase",
|
|
13
|
+
description: "Use case: email, username, tags, domains",
|
|
14
|
+
required: false,
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
18
|
+
handler: async (args, _context) => {
|
|
19
|
+
const useCase = args["useCase"] ?? "email";
|
|
20
|
+
return `# citext Setup Guide - ${useCase.charAt(0).toUpperCase() + useCase.slice(1)}s
|
|
21
|
+
|
|
22
|
+
## citext Overview
|
|
23
|
+
|
|
24
|
+
citext provides a **case-insensitive text type** that handles comparison at the type level:
|
|
25
|
+
- No need for \`LOWER()\` in every query
|
|
26
|
+
- Prevents subtle bugs in authentication systems
|
|
27
|
+
- Indexes work automatically
|
|
28
|
+
- Proper for emails, usernames, domain names, tags
|
|
29
|
+
|
|
30
|
+
## Why Use citext?
|
|
31
|
+
|
|
32
|
+
**Without citext (error-prone):**
|
|
33
|
+
\`\`\`sql
|
|
34
|
+
-- Developers must remember LOWER() every time
|
|
35
|
+
SELECT * FROM users WHERE LOWER(email) = LOWER($1);
|
|
36
|
+
CREATE INDEX ON users (LOWER(email));
|
|
37
|
+
|
|
38
|
+
-- Forgot LOWER()? Bug!
|
|
39
|
+
SELECT * FROM users WHERE email = 'User@Example.com'; -- Won't match 'user@example.com'
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
**With citext (safe):**
|
|
43
|
+
\`\`\`sql
|
|
44
|
+
-- Automatic case-insensitive comparison
|
|
45
|
+
SELECT * FROM users WHERE email = $1;
|
|
46
|
+
CREATE INDEX ON users (email); -- Just works
|
|
47
|
+
\`\`\`
|
|
48
|
+
|
|
49
|
+
## Setup Steps
|
|
50
|
+
|
|
51
|
+
### 1. Install citext
|
|
52
|
+
|
|
53
|
+
\`\`\`sql
|
|
54
|
+
CREATE EXTENSION IF NOT EXISTS citext;
|
|
55
|
+
SELECT * FROM pg_extension WHERE extname = 'citext';
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
### 2. Create Table with citext
|
|
59
|
+
|
|
60
|
+
${useCase === "email"
|
|
61
|
+
? `\`\`\`sql
|
|
62
|
+
CREATE TABLE users (
|
|
63
|
+
id SERIAL PRIMARY KEY,
|
|
64
|
+
email CITEXT UNIQUE NOT NULL,
|
|
65
|
+
name VARCHAR(255),
|
|
66
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
-- Index is automatically case-insensitive
|
|
70
|
+
CREATE INDEX idx_users_email ON users (email);
|
|
71
|
+
|
|
72
|
+
-- All these will match the same user:
|
|
73
|
+
INSERT INTO users (email, name) VALUES ('user@example.com', 'Test');
|
|
74
|
+
SELECT * FROM users WHERE email = 'USER@EXAMPLE.COM'; -- ✓ Matches
|
|
75
|
+
SELECT * FROM users WHERE email = 'User@Example.Com'; -- ✓ Matches
|
|
76
|
+
\`\`\`
|
|
77
|
+
`
|
|
78
|
+
: useCase === "username"
|
|
79
|
+
? `\`\`\`sql
|
|
80
|
+
CREATE TABLE accounts (
|
|
81
|
+
id SERIAL PRIMARY KEY,
|
|
82
|
+
username CITEXT UNIQUE NOT NULL,
|
|
83
|
+
display_name VARCHAR(255),
|
|
84
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
-- Prevent duplicate usernames regardless of case
|
|
88
|
+
INSERT INTO accounts (username, display_name) VALUES ('JohnDoe', 'John Doe');
|
|
89
|
+
INSERT INTO accounts (username, display_name) VALUES ('johndoe', 'Other'); -- ✗ Fails - duplicate!
|
|
90
|
+
\`\`\`
|
|
91
|
+
`
|
|
92
|
+
: useCase === "tags"
|
|
93
|
+
? `\`\`\`sql
|
|
94
|
+
CREATE TABLE posts (
|
|
95
|
+
id SERIAL PRIMARY KEY,
|
|
96
|
+
title VARCHAR(255),
|
|
97
|
+
content TEXT
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
CREATE TABLE tags (
|
|
101
|
+
id SERIAL PRIMARY KEY,
|
|
102
|
+
name CITEXT UNIQUE NOT NULL
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
CREATE TABLE post_tags (
|
|
106
|
+
post_id INTEGER REFERENCES posts(id),
|
|
107
|
+
tag_id INTEGER REFERENCES tags(id),
|
|
108
|
+
PRIMARY KEY (post_id, tag_id)
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
-- Tags are case-insensitive
|
|
112
|
+
INSERT INTO tags (name) VALUES ('JavaScript');
|
|
113
|
+
INSERT INTO tags (name) VALUES ('javascript'); -- ✗ Fails - duplicate!
|
|
114
|
+
SELECT * FROM tags WHERE name = 'JAVASCRIPT'; -- ✓ Matches
|
|
115
|
+
\`\`\`
|
|
116
|
+
`
|
|
117
|
+
: `\`\`\`sql
|
|
118
|
+
CREATE TABLE websites (
|
|
119
|
+
id SERIAL PRIMARY KEY,
|
|
120
|
+
domain CITEXT UNIQUE NOT NULL,
|
|
121
|
+
owner_id INTEGER,
|
|
122
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
-- Domain names are case-insensitive by RFC
|
|
126
|
+
INSERT INTO websites (domain) VALUES ('Example.Com');
|
|
127
|
+
SELECT * FROM websites WHERE domain = 'EXAMPLE.COM'; -- ✓ Matches
|
|
128
|
+
\`\`\`
|
|
129
|
+
`}
|
|
130
|
+
|
|
131
|
+
### 3. Migrating Existing Columns
|
|
132
|
+
|
|
133
|
+
Use \`pg_citext_convert_column\` or manually:
|
|
134
|
+
|
|
135
|
+
\`\`\`sql
|
|
136
|
+
-- 1. Check for case-insensitive duplicates first!
|
|
137
|
+
SELECT LOWER(email), COUNT(*)
|
|
138
|
+
FROM users
|
|
139
|
+
GROUP BY LOWER(email)
|
|
140
|
+
HAVING COUNT(*) > 1;
|
|
141
|
+
|
|
142
|
+
-- 2. If duplicates exist, resolve them first
|
|
143
|
+
|
|
144
|
+
-- 3. Convert column
|
|
145
|
+
ALTER TABLE users ALTER COLUMN email TYPE CITEXT;
|
|
146
|
+
|
|
147
|
+
-- 4. Recreate indexes if needed
|
|
148
|
+
DROP INDEX IF EXISTS idx_users_email_lower;
|
|
149
|
+
CREATE UNIQUE INDEX idx_users_email ON users (email);
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
### 4. Find Candidate Columns
|
|
153
|
+
|
|
154
|
+
Use \`pg_citext_analyze_candidates\` to find text columns that could benefit from citext:
|
|
155
|
+
|
|
156
|
+
- Columns with names like email, username, domain, tag
|
|
157
|
+
- Columns with UNIQUE constraints
|
|
158
|
+
- Columns used with LOWER() in queries
|
|
159
|
+
|
|
160
|
+
## Available Tools
|
|
161
|
+
|
|
162
|
+
| Tool | Purpose |
|
|
163
|
+
|------|---------|
|
|
164
|
+
| \`pg_citext_create_extension\` | Enable citext |
|
|
165
|
+
| \`pg_citext_convert_column\` | Convert text to citext |
|
|
166
|
+
| \`pg_citext_list_columns\` | List citext columns |
|
|
167
|
+
| \`pg_citext_analyze_candidates\` | Find conversion candidates |
|
|
168
|
+
| \`pg_citext_compare\` | Test case-insensitive comparison |
|
|
169
|
+
| \`pg_citext_schema_advisor\` | Schema recommendations |
|
|
170
|
+
|
|
171
|
+
## Comparison Behavior
|
|
172
|
+
|
|
173
|
+
\`\`\`sql
|
|
174
|
+
-- citext comparisons
|
|
175
|
+
SELECT 'ABC'::citext = 'abc'::citext; -- true
|
|
176
|
+
SELECT 'ABC'::citext = 'abc'; -- true (text promoted)
|
|
177
|
+
SELECT 'Café'::citext = 'café'::citext; -- true (proper Unicode handling)
|
|
178
|
+
|
|
179
|
+
-- Sorting is still case-sensitive by default
|
|
180
|
+
SELECT * FROM tags ORDER BY name;
|
|
181
|
+
-- JavaScript, Python, go (capital letters first)
|
|
182
|
+
|
|
183
|
+
-- For case-insensitive sort, use collation
|
|
184
|
+
SELECT * FROM tags ORDER BY name COLLATE "C";
|
|
185
|
+
\`\`\`
|
|
186
|
+
|
|
187
|
+
## Index Considerations
|
|
188
|
+
|
|
189
|
+
\`\`\`sql
|
|
190
|
+
-- Regular B-tree index works for citext
|
|
191
|
+
CREATE INDEX ON users (email);
|
|
192
|
+
|
|
193
|
+
-- For pattern matching, use gin_trgm_ops
|
|
194
|
+
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
|
195
|
+
CREATE INDEX ON users USING gin (email gin_trgm_ops);
|
|
196
|
+
|
|
197
|
+
-- LIKE patterns work case-insensitively
|
|
198
|
+
SELECT * FROM users WHERE email LIKE '%@example%'; -- Case-insensitive!
|
|
199
|
+
\`\`\`
|
|
200
|
+
|
|
201
|
+
## Best Practices
|
|
202
|
+
|
|
203
|
+
1. **Use for identifiers** — Emails, usernames, domain names, tags
|
|
204
|
+
2. **Check for duplicates before converting** — Migration can fail
|
|
205
|
+
3. **Don't use for content** — Full names, descriptions should preserve case
|
|
206
|
+
4. **Consider collation for sorting** — citext equality is case-insensitive, but sorting depends on collation
|
|
207
|
+
5. **Document the type usage** — Help future developers understand
|
|
208
|
+
|
|
209
|
+
## Common Pitfalls
|
|
210
|
+
|
|
211
|
+
- ❌ Using citext for all text columns (only use for identifiers)
|
|
212
|
+
- ❌ Forgetting to check for duplicates before migration
|
|
213
|
+
- ❌ Expecting case-insensitive sorting without proper collation
|
|
214
|
+
- ❌ Using with binary data or non-text identifiers
|
|
215
|
+
|
|
216
|
+
## Performance Notes
|
|
217
|
+
|
|
218
|
+
- citext adds minimal overhead vs text
|
|
219
|
+
- Comparison uses \`lower()\` internally
|
|
220
|
+
- B-tree indexes work normally
|
|
221
|
+
- Slightly slower than text for exact matches
|
|
222
|
+
|
|
223
|
+
**Pro Tip:** citext eliminates an entire category of authentication bugs. Always use it for email and username columns!`;
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=citext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citext.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/prompts/citext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,0GAA0G;QAC5G,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,0CAA0C;gBACvD,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,4DAA4D;QAC5D,OAAO,EAAE,KAAK,EACZ,IAA4B,EAC5B,QAAwB,EACP,EAAE;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;YAE3C,OAAO,0BAA0B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCvF,OAAO,KAAK,OAAO;gBACjB,CAAC,CAAC;;;;;;;;;;;;;;;;CAgBL;gBACG,CAAC,CAAC,OAAO,KAAK,UAAU;oBACtB,CAAC,CAAC;;;;;;;;;;;;CAYP;oBACK,CAAC,CAAC,OAAO,KAAK,MAAM;wBAClB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBT;wBACO,CAAC,CAAC;;;;;;;;;;;;CAaV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wHA8FwH,CAAC;QACrH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension Setup Prompt
|
|
3
|
+
*
|
|
4
|
+
* Guide for installing and configuring PostgreSQL extensions.
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptDefinition } from "../../../types/index.js";
|
|
7
|
+
export declare function createExtensionSetupPrompt(): PromptDefinition;
|
|
8
|
+
//# sourceMappingURL=extensionSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionSetup.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/prompts/extensionSetup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,yBAAyB,CAAC;AAsEhF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAoN7D"}
|