{"_id":"@pgsql/scripts","_rev":"15-4c669fd38cd95391a813744bb83e4715","name":"@pgsql/scripts","dist-tags":{"latest":"18.4.8"},"versions":{"18.0.1":{"name":"@pgsql/scripts","version":"18.0.1","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.0.1","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"b619553760e4459ee47442a5599a9093dc6d2fff","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.0.1.tgz","fileCount":12,"integrity":"sha512-flTYjh+pcaUnGcYjvF9WE1IchQRJeP3mSeffMWWkEeRJp8cvKYmdXwLeeo/P5swRf5b7+u7K0+Cy2WYxBccluQ==","signatures":[{"sig":"MEQCIEavCKTYPHYAf9k+JMlaoTvoEqTNzhZ88ffZYjxqSyiHAiBXQzsOY/I4PA0G/7JUhQhtC5Nd7JwIp4Q5BbErY9EAMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63064},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"f888a7701dc5abf309c0dfd04e0069375d4e7550","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.1.0","plpgsql-parser":"18.2.2","@pgsql/transform":"18.11.0"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.0.1_1785487015374_0.6984614974539294","host":"s3://npm-registry-packages-npm-production"}},"18.1.0":{"name":"@pgsql/scripts","version":"18.1.0","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.1.0","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"5363411d6d1e872027581d409b445e109a34a79c","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.1.0.tgz","fileCount":12,"integrity":"sha512-3fP/U2Fx0A1KSmcAsi1bs4ksc/wKNByk9iJKLrrtU+D9VsJr/rJB5RU8BW/7k3o8ei0ghaDYc0B2D0kjtf3dXw==","signatures":[{"sig":"MEUCIQC2pUA6E55DvpaHYxdpdC/w8o/RZe833jtLE+9Vl3DqPwIgNBvb6ww2LIS0jvds4bmuNWAiutC5K2YAj3pfDWsb8s4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"884ba252cf8b074c6790b3722477acc3d6f92539","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.1.0","plpgsql-parser":"18.2.3","@pgsql/transform":"18.11.1"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.1.0_1785515641754_0.5976040460676795","host":"s3://npm-registry-packages-npm-production"}},"18.2.0":{"name":"@pgsql/scripts","version":"18.2.0","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.2.0","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"2f3e97a0a10088fb51095152d2a25ef2a8f0a6bf","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.2.0.tgz","fileCount":12,"integrity":"sha512-uJzLkxmsONLILK8kRt6l+qnnd0Dn70oucQAWWNFuDcamRst0Xn7L8SpK58rtgJHHxQzZeSLGHWnUZuwt9uG9mg==","signatures":[{"sig":"MEQCIEJCxUFDZ0ccv51q+bcppf1hfxgMkJio/ZltzqS6rAXmAiAuopb2i49sGsSkyFqgyJItVxynZ18g1eHQzG9ecozF8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"571af81b3e5e5582eae226053b820f9c90c898b6","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.1.0","plpgsql-parser":"18.4.0","@pgsql/transform":"18.13.0"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.2.0_1785534983071_0.03378287918257161","host":"s3://npm-registry-packages-npm-production"}},"18.3.0":{"name":"@pgsql/scripts","version":"18.3.0","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.0","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"3430a4f3573641fc120f0519b54a8c33bc6a38ef","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.0.tgz","fileCount":12,"integrity":"sha512-xarBSUw9pdwo9jxM3cjDwngy20yqwswQLtPb5kTbVb3YpA08xEuUBJsDXlWG8OYbYC02bvG3S15D6IO0ZW97SA==","signatures":[{"sig":"MEYCIQD7JtEHi2khNNaHJtybVllL4sJJ65Zc98Sc3ShuUXA7sgIhALrkHuJVNHx60UI+1yy8RdRwcQ/IXToq8IP1ZrqTRsHY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"a60df59baaf11fbfe516b0ed25280d5854ad00e9","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.0","plpgsql-parser":"18.5.0","@pgsql/transform":"18.14.0"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.0_1785547914353_0.7494248918650535","host":"s3://npm-registry-packages-npm-production"}},"18.3.1":{"name":"@pgsql/scripts","version":"18.3.1","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.1","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"1be834c9c3c9523abc7c8ae485cdbd4aa41d1919","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.1.tgz","fileCount":12,"integrity":"sha512-Nk7GTySEc2cgHc8tGSjMq37W56l/YnHENRE6kZDcIFbRQ3Yc1/km4ytHZdGPvhwRWfNbdXMeslgZkW3zWsCsYw==","signatures":[{"sig":"MEUCIBEYRmHl/hWsftsJh0KHEPKP1iFuIiCrTRy/EeGoCeE9AiEA9n1EM9OMOBCvZf9dGandNYFJK6IB4WGCQVJcxCFePVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"4c8ecf62465ed608f068ef127d2b9f4a23844f6f","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.0","plpgsql-parser":"18.5.1","@pgsql/transform":"18.14.1"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.1_1785548773048_0.8080642280266535","host":"s3://npm-registry-packages-npm-production"}},"18.3.2":{"name":"@pgsql/scripts","version":"18.3.2","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.2","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"c8bb57add6f0c2376ea404b6f11392eb9c866b35","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.2.tgz","fileCount":12,"integrity":"sha512-qZMcAk4jDBixiPjYH0+sxiXGcrpm9YI33RedAQELYGRa1idI9vqVevQ89x8TKmR3Qgegw9mMjyMAt3jLFLzEQQ==","signatures":[{"sig":"MEYCIQD0DsSShSXejHuqEgBkmWlaaEb3t7N6Q7cKl2FXwyiBHQIhAIQjExvZwN4vJVAQOhp7zwlB0v4LBrnwA1UtiwUnZms/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"0fba1b6faf8067bfd5f1591656c2a90f77c280b0","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.0","plpgsql-parser":"18.5.1","@pgsql/transform":"18.15.0"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.2_1785685305571_0.2703943392001449","host":"s3://npm-registry-packages-npm-production"}},"18.3.3":{"name":"@pgsql/scripts","version":"18.3.3","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.3","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"8323884e9aa24efcbb89f915a2cb92b4819bfaa3","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.3.tgz","fileCount":12,"integrity":"sha512-PzUvl+rTXsjsutA1MgjYbxp0aTKJtiL2G34WsSj4h5hcZXuXLLSD9jAYiVd4e0kF7RcbQO2XDHrSqldn/09/Rw==","signatures":[{"sig":"MEUCIQD2gWVG1BDCktcbCFnBHBDlkKfJJOxb2ci7NOIjSjHg2AIgI6OyLRFVkdNuI9iH8GbbYK7i9G/piFTiNlUGEvbVYRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"bc21e590439743a236da9757adf2d43d34432710","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.0","plpgsql-parser":"18.5.2","@pgsql/transform":"18.15.1"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.3_1785711210109_0.5618991019380335","host":"s3://npm-registry-packages-npm-production"}},"18.3.4":{"name":"@pgsql/scripts","version":"18.3.4","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.4","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"eae3bdf34b21fee50e05b1152f4908db884dc70a","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.4.tgz","fileCount":12,"integrity":"sha512-HjTWN0c8j4NEZe6Bx3BslRk/qme93Fkl+Wu3h1Zkswy+mRk04ai5M79ksO6GQNYXjOezIxXNid/ReTZJWabbyA==","signatures":[{"sig":"MEYCIQCpj8DytxhxUUBaRcnQ+Bk8nxzGYSimCdHOIbt5WB6oPwIhAMbboKBr6fB3bOOAVa2XmOm8jTU8PTgOmvMgaAJzmEjR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"b6105874628cc7b8517c1ebbd99e9ad6fe786976","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.1","plpgsql-parser":"18.5.3","@pgsql/transform":"18.15.2"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.4_1785738546527_0.17669567510589967","host":"s3://npm-registry-packages-npm-production"}},"18.3.5":{"name":"@pgsql/scripts","version":"18.3.5","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.3.5","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"427f673da998f14f837247712c9912457c9336c2","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.3.5.tgz","fileCount":12,"integrity":"sha512-gpNyNNGs1bYyQ+HHv6w6IcuW6xTLDrPznE8GW5nQ1gSpQeLT1wulwasqyBmyd0/dag8TNDPHS7OM0mMBk6gVMg==","signatures":[{"sig":"MEUCIQDke1TgUFV5bkyUSx/CNcMECgQ1qw4Pl8/j0Axi2Nn7WgIgAUSCYRwOVLlOXx1CuVrPmshBMOZIBBkoYBFH29lLs0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"69cdce673db035fb1ee3b529480d39fac01512ab","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.1","plpgsql-parser":"18.5.3","@pgsql/transform":"18.15.3"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.3.5_1785970224795_0.14448239443537547","host":"s3://npm-registry-packages-npm-production"}},"18.4.0":{"name":"@pgsql/scripts","version":"18.4.0","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.4.0","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"01ce185bc7eed03f16fcfbbb00adefa9c4c70662","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.0.tgz","fileCount":12,"integrity":"sha512-z/G7mL450h/EZvPLLEQFkw5M4OyhPc3EhcxUjBXlErDiIY+HfVnFRjaykjcYV+0X+7V0oIuCKbUxPZM8O7t6GQ==","signatures":[{"sig":"MEYCIQD4HPpC8y+CIUqE9rSa2DWcXlofEUppEPY4yzmvEIcN9AIhANVUKBHxjmpeoOezIbXbg3AUDm3fVWn09ZyzK/DdpHfi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"9ecd247f9f0ef696a95e1f582d7353eb6bb693d4","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.1","plpgsql-parser":"18.5.3","@pgsql/transform":"18.16.0"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.4.0_1786016212439_0.3561587742224501","host":"s3://npm-registry-packages-npm-production"}},"18.4.1":{"name":"@pgsql/scripts","version":"18.4.1","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":"Constructive <developers@constructive.io>","license":"MIT","_id":"@pgsql/scripts@18.4.1","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"319658d3d903b8e9ca2d9454866a6c6f91dc8d9d","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.1.tgz","fileCount":12,"integrity":"sha512-BNmlt2yXIsLIpWHVnI7S4rLr0AF+AIkdGtwXEhMtq+xPSXM/D7vliKyiIyXlLSOKzhrRFo4mSKqNVgweUEOEEQ==","signatures":[{"sig":"MEUCIQC7ZWR87nDP3tygTec4B/z0f7bbrIB0f6GGfXwaf09JagIgGjEYkwzB4CHXhY3kAEnF8sfIpStYMjVpE1REOCBBPFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"f0bb7e531c874467d873b478c6ee06db682cefa6","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"https://github.com/constructive-io/pgsql-parser","type":"git"},"_npmVersion":"lerna/8.2.4/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.1","plpgsql-parser":"18.5.3","@pgsql/transform":"18.17.1"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.4.1_1786101200742_0.23292658524899168","host":"s3://npm-registry-packages-npm-production"}},"18.4.5":{"name":"@pgsql/scripts","version":"18.4.5","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":{"name":"Constructive","email":"developers@constructive.io"},"license":"MIT","_id":"@pgsql/scripts@18.4.5","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"a339ae8481763536237d1f37e5f110e71b49af82","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.5.tgz","fileCount":12,"integrity":"sha512-hXv+csLboEX11UtJ9qlnYEhg5HegmR3FD7WNrBy4cWIqmmOv2jvfdiG+sHjh9oOXm/BSIiSPhvkgWWUJl94CLg==","signatures":[{"sig":"MEUCIBVCcERY/Awt+dq1qtM2NGsH0u98pBLBB8zmRUWxFPyfAiEAjVZusDJ/aZQZi0GRrn7jN7kCbCBH3ikv9Szbmupn2iQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"30547f42aa4eb3b5677701b921cca23378452b0d","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"git+https://github.com/constructive-io/pgsql-parser.git","type":"git"},"_npmVersion":"lerna/10.0.0/node@v22.13.1+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@pgsql/quotes":"18.2.4","plpgsql-parser":"18.5.7","@pgsql/transform":"18.17.5"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.4.5_1786140187761_0.9907935350475694","host":"s3://npm-registry-packages-npm-production"}},"18.4.6":{"name":"@pgsql/scripts","version":"18.4.6","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":{"name":"Constructive","email":"developers@constructive.io"},"license":"MIT","_id":"@pgsql/scripts@18.4.6","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"dbb7767d1c934874a288fecd4efd130c4e33772c","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.6.tgz","fileCount":12,"integrity":"sha512-bDvVCzxAjeWOtmoWTRZNZLU/TaeKETH32lI/dB8/ibptuATImE6wYXDIs4Mt59LT0NTg5craanscEP0FQU+TJg==","signatures":[{"sig":"MEQCIAFdEnv6OAueIRk/xTuX+XFCslf/tQ66u8h57cK4DUzpAiADhUzUUTuXV7ilOR+H3ToIk4YIo0s1366vmAoKc8DS/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134126},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"0a734eba1425f7a1c15c3fc67550a81a5fbcba01","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"git+https://github.com/constructive-io/pgsql-parser.git","type":"git"},"_npmVersion":"lerna/10.0.0/node@v24.19.0+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@pgsql/quotes":"18.2.4","plpgsql-parser":"18.5.8","@pgsql/transform":"18.17.6"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.4.6_1787111437024_0.06252696588892181","host":"s3://npm-registry-packages-npm-production"}},"18.4.7":{"name":"@pgsql/scripts","version":"18.4.7","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"author":{"name":"Constructive","email":"developers@constructive.io"},"license":"MIT","_id":"@pgsql/scripts@18.4.7","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"homepage":"https://github.com/constructive-io/pgsql-parser","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"e2b8fb32fd2ea3972317645fd9346b8649fba7c4","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.7.tgz","fileCount":12,"integrity":"sha512-/X+q5Bte0hX9g6sVaF3z9Sv8ghJTKpGNoOhBC1O5YT9Yxc4rBPImKziSdlJvn6DOMwfXwSyBlL7eccdtXJPC+w==","signatures":[{"sig":"MEYCIQCVxLwc5J+Lv6SQ0nYmMzWEQLDz5tMM7DethdeIT9GWQAIhAMViYoghZKuLu5hTDPhzEGkJpeTZtd/BNcqtZ5K0UaD6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134098},"main":"index.js","types":"index.d.ts","module":"esm/index.js","gitHead":"d8a34a60dacf1b7d5ba6e7443e2438ff049b6a56","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"repository":{"url":"git+https://github.com/constructive-io/pgsql-parser.git","type":"git"},"_npmVersion":"lerna/10.0.0/node@v24.19.0+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@pgsql/quotes":"18.2.4","plpgsql-parser":"18.5.9","@pgsql/transform":"18.17.7"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/scripts_18.4.7_1789631719335_0.4059414654821998","host":"s3://npm-registry-packages-npm-production"}},"18.4.8":{"_id":"@pgsql/scripts@18.4.8","bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"dist":{"shasum":"e95b84142f40f89957ce3ddb8a10829e2418c52c","tarball":"https://registry.npmjs.org/@pgsql/scripts/-/scripts-18.4.8.tgz","fileCount":12,"integrity":"sha512-uXvGUV537cvmJBjWUJTjJFfsb7PL59xyaX6R1+0wsxdmfL3zz1RZW3A995llSfLCD2p/d1G21Puyv7p4+N3Z1g==","signatures":[{"sig":"MEUCIDNTZNMtxAd5p+CIeVLWC2nnH2mftvMyaj+VuVLm3YU0AiEA9WcwhWUrXg9XrLO4hDknW5RAsw1WDIf8wLrs4D1NQ1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDxOdxXdEntQvTpUWJshcwWWneHmOmXrI7dJBPYC8g0XAiBM3n/b3kxN+Amrz6U5rajY8f1dgDJOzxdyU3AL0w9/iQ=="}],"unpackedSize":134099},"main":"index.js","name":"@pgsql/scripts","types":"index.d.ts","author":{"name":"Constructive","email":"developers@constructive.io"},"module":"esm/index.js","gitHead":"b93d0f73eab976c7db21f7bc7e2dad165d25173e","license":"MIT","scripts":{"copy":"makage assets","lint":"eslint . --fix","test":"jest","build":"npm run clean && tsc && tsc -p tsconfig.esm.json && npm run copy","clean":"makage clean dist","build:dev":"npm run clean && tsc --declarationMap && tsc -p tsconfig.esm.json && npm run copy","test:watch":"jest --watch","prepublishOnly":"npm run build"},"version":"18.4.8","_npmUser":{"name":"pyramation","email":"pyramation@gmail.com"},"homepage":"https://github.com/constructive-io/pgsql-parser","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"repository":{"url":"git+https://github.com/constructive-io/pgsql-parser.git","type":"git"},"_npmVersion":"lerna/10.0.0/node@v24.19.0+arm64 (darwin)","description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","directories":{},"maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"_nodeVersion":"24.19.0","dependencies":{"@pgsql/quotes":"18.2.4","plpgsql-parser":"18.5.10","@pgsql/transform":"18.17.8"},"publishConfig":{"access":"public","directory":"dist"},"_hasShrinkwrap":false,"devDependencies":{"makage":"^0.5.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scripts_18.4.8_1789675554812_0.45040466098709664"}}},"time":{"created":"2026-07-31T08:36:55.117Z","modified":"2026-09-17T20:05:55.173Z","18.0.1":"2026-07-31T08:36:55.499Z","18.1.0":"2026-07-31T16:34:01.912Z","18.2.0":"2026-07-31T21:56:23.226Z","18.3.0":"2026-08-01T01:31:54.509Z","18.3.1":"2026-08-01T01:46:13.280Z","18.3.2":"2026-08-02T15:41:45.727Z","18.3.3":"2026-08-02T22:53:30.269Z","18.3.4":"2026-08-03T06:29:06.697Z","18.3.5":"2026-08-05T22:50:24.981Z","18.4.0":"2026-08-06T11:36:52.565Z","18.4.1":"2026-08-07T11:13:20.891Z","18.4.5":"2026-08-07T22:03:07.913Z","18.4.6":"2026-08-19T03:50:37.171Z","18.4.7":"2026-09-17T07:55:19.452Z","18.4.8":"2026-09-17T20:05:54.902Z"},"bugs":{"url":"https://github.com/constructive-io/pgsql-parser/issues"},"author":{"name":"Constructive","email":"developers@constructive.io"},"license":"MIT","homepage":"https://github.com/constructive-io/pgsql-parser","keywords":["sql","postgres","postgresql","pg","ast","migration","revert","verify","scripts"],"repository":{"url":"git+https://github.com/constructive-io/pgsql-parser.git","type":"git"},"description":"Migration script generation for PostgreSQL — derive revert and verify scripts from classified statement facts","maintainers":[{"name":"pyramation","email":"pyramation@gmail.com"}],"readme":"# @pgsql/scripts\n\n<p align=\"center\" width=\"100%\">\n  <img height=\"250\" src=\"https://raw.githubusercontent.com/constructive-io/constructive/refs/heads/main/assets/outline-logo.svg\" />\n</p>\n\n<p align=\"center\" width=\"100%\">\n  <a href=\"https://github.com/constructive-io/pgsql-parser/actions/workflows/run-tests.yaml\">\n    <img height=\"20\" src=\"https://github.com/constructive-io/pgsql-parser/actions/workflows/run-tests.yaml/badge.svg\" />\n  </a>\n   <a href=\"https://github.com/constructive-io/pgsql-parser/blob/main/LICENSE\"><img height=\"20\" src=\"https://img.shields.io/badge/license-MIT-blue.svg\"></a>\n</p>\n\nMigration script generation for PostgreSQL: derive **revert** and **verify** scripts from the classified statement facts of a deploy script (`classifyStatements` in `@pgsql/transform`).\n\n```ts\nimport { classifyStatements } from '@pgsql/transform';\nimport { revertFor, verifyFor } from '@pgsql/scripts';\nimport { loadModule } from 'plpgsql-parser';\n\nawait loadModule();\nconst facts = classifyStatements(deploySql);\n\nconst { sql: revertSql, warnings } = revertFor(facts);\nconst { sql: verifySql } = verifyFor(facts);\n```\n\n- `revertFor(facts)` — mechanical inverses in **reverse topological order** of the statement dependency graph, so dependents are dropped before their dependencies and no `CASCADE` is ever needed. Inverses are built as AST nodes and deparsed (`pgsql-deparser`), never string-templated.\n- `verifyFor(facts)` — one existence check per created object, each raising on failure via `SELECT 1/(CASE WHEN <exists> THEN 1 ELSE 0 END);`.\n\nNothing outside the supported vocabulary is ever guessed at: `revertFor` emits a `-- revert not derivable: <reason>` comment plus a warning; `verifyFor` emits nothing plus a warning. The list is exported as `SUPPORTED_STATEMENTS` (and `SUPPORTED_NODE_TAGS`).\n\n## Node-level API\n\nFor consumers that compose inverses at the AST level (semantic diffing, migration generation) without round-tripping through deparsed text:\n\n```ts\nimport { invertStatement, existenceCheck } from '@pgsql/scripts';\n\nconst inverse = invertStatement(facts[0]);  // AST statement nodes, [] = nothing to revert, null = not derivable\nconst checks = existenceCheck(facts[0]);    // SelectStmt check nodes, [] = nothing to check, null = not derivable\n```\n\n`invertStatement` returns the per-statement inverse as wrapped AST nodes (e.g. `{ DropStmt: {...} }`); `existenceCheck` returns the raise-on-failure checks as `SelectStmt` nodes. Both return `null` instead of guessing when derivation is not possible — including partially underivable multi-command statements.\n\n## Supported statements\n\n| Statement | Revert | Verify |\n|---|---|---|\n| `CREATE SCHEMA` | `DROP SCHEMA` | `information_schema.schemata` |\n| `CREATE TABLE` | `DROP TABLE` | `to_regclass` |\n| `CREATE VIEW` | `DROP VIEW` | `to_regclass` |\n| `CREATE INDEX` | `DROP INDEX` | `to_regclass` |\n| `CREATE SEQUENCE` | `DROP SEQUENCE` | `to_regclass` |\n| `CREATE TYPE` (composite, enum, range) | `DROP TYPE` | `to_regtype` |\n| `CREATE DOMAIN` | `DROP DOMAIN` | `to_regtype` |\n| `CREATE FUNCTION` / `PROCEDURE` | `DROP FUNCTION` / `PROCEDURE` with input signature (overload safe) | `to_regprocedure` |\n| `CREATE TRIGGER` | `DROP TRIGGER ... ON table` | `pg_trigger` |\n| `CREATE POLICY` | `DROP POLICY ... ON table` | `pg_policies` |\n| `CREATE EXTENSION` | `DROP EXTENSION` | `pg_extension` |\n| `CREATE ROLE` | `DROP ROLE` | `pg_roles` |\n| `ALTER TABLE ... ADD COLUMN` | `DROP COLUMN` | `information_schema.columns` |\n| `ALTER TABLE ... ADD CONSTRAINT` (named) | `DROP CONSTRAINT` | `information_schema.table_constraints` |\n| `ALTER TABLE ... ENABLE / FORCE ROW LEVEL SECURITY` | `DISABLE` / `NO FORCE` | `pg_class.relrowsecurity` / `relforcerowsecurity` |\n| `GRANT` privileges (tables, sequences, functions, schemas) | `REVOKE` same privileges | `has_table_privilege` / `has_function_privilege` / `has_schema_privilege` |\n| `GRANT role TO role` | `REVOKE role FROM role` | `pg_auth_members` |\n| `COMMENT ON` | `COMMENT ON ... IS NULL` | — |\n| `CREATE MATERIALIZED VIEW` / `CREATE TABLE AS` | `DROP MATERIALIZED VIEW` / `DROP TABLE` | `to_regclass` |\n| `CREATE SERVER` | `DROP SERVER` | `pg_foreign_server` |\n| `CREATE FOREIGN TABLE` | `DROP FOREIGN TABLE` | `to_regclass` |\n| `CREATE USER MAPPING` | `DROP USER MAPPING` | `pg_user_mappings` |\n| `CREATE COLLATION` | `DROP COLLATION` | `pg_collation` |\n| `CREATE AGGREGATE` | `DROP AGGREGATE` with input signature | `to_regprocedure` |\n| `CREATE OPERATOR` (binary) | `DROP OPERATOR (left, right)` | `to_regoperator` |\n| `CREATE CAST` | `DROP CAST (source AS target)` | `pg_cast` |\n| `CREATE PUBLICATION` | `DROP PUBLICATION` | `pg_publication` |\n| `CREATE SUBSCRIPTION` | `DROP SUBSCRIPTION` | `pg_subscription` |\n| `CREATE STATISTICS` | `DROP STATISTICS` | `pg_statistic_ext` |\n| `CREATE EVENT TRIGGER` | `DROP EVENT TRIGGER` | `pg_event_trigger` |\n| `CREATE RULE` | `DROP RULE ... ON table` | `pg_rules` |\n| `ALTER TYPE ... ADD VALUE` | — (Postgres has no `DROP VALUE`; warns) | `pg_enum` |\n| `ALTER TABLE ... ATTACH PARTITION` | `DETACH PARTITION` | `pg_inherits` |\n| `ALTER DEFAULT PRIVILEGES ... GRANT` | `ALTER DEFAULT PRIVILEGES ... REVOKE` | `pg_default_acl` + `aclexplode` |\n| `SECURITY LABEL` | `SECURITY LABEL ... IS NULL` | — |\n| `CREATE FOREIGN DATA WRAPPER` | `DROP FOREIGN DATA WRAPPER` | `pg_foreign_data_wrapper` |\n| `CREATE CONVERSION` | `DROP CONVERSION` | `pg_conversion` |\n| `CREATE ACCESS METHOD` | `DROP ACCESS METHOD` | `pg_am` |\n| `CREATE TRANSFORM` | `DROP TRANSFORM FOR type LANGUAGE lang` | `pg_transform` |\n| `CREATE OPERATOR CLASS` / `FAMILY` | `DROP ... USING am` | `pg_opclass` / `pg_opfamily` |\n| `CREATE TEXT SEARCH CONFIGURATION` / `DICTIONARY` / `PARSER` / `TEMPLATE` | matching `DROP` | `pg_ts_config` / `pg_ts_dict` / `pg_ts_parser` / `pg_ts_template` |\n| `CREATE TABLESPACE` | `DROP TABLESPACE` | `pg_tablespace` |\n| `ALTER ... RENAME TO` | rename back (both names are in the statement) | object exists under new name |\n| `ALTER ... SET SCHEMA` (qualified source) | move back (both schemas are in the statement) | object exists in new schema |\n| `GRANT ALL` | `REVOKE ALL` | expands to the object type's concrete privilege list |\n\nNot derivable (warned, never guessed): `REVOKE`, unnamed constraints, `ALTER ... SET` with unknown prior value, `ALTER ... OWNER TO` (prior owner unknown), `SET SCHEMA` on unqualified names, arbitrary DML, dynamic SQL, prefix operators.\n\n---\n\n**🛠 Built by the [Constructive](https://constructive.io) team — creators of modular Postgres tooling for secure, composable backends. If you like our work, contribute on [GitHub](https://github.com/constructive-io).**\n\n## Related\n\n* [pgpm](https://pgpm.dev): A Postgres Package Manager that brings modular development to PostgreSQL with reusable packages, deterministic migrations, recursive dependency resolution, and tag-aware versioning.\n* [pgsql-test](https://www.npmjs.com/package/pgsql-test): Instant, isolated PostgreSQL databases for each test with automatic transaction rollbacks, context switching, and clean seeding for fast, reliable database testing.\n* [pgsql-seed](https://www.npmjs.com/package/pgsql-seed): PostgreSQL seeding utilities for CSV, JSON, SQL data loading, and pgpm deployment.\n* [pgsql-parser](https://www.npmjs.com/package/pgsql-parser): The real PostgreSQL parser for Node.js, providing symmetric parsing and deparsing of SQL statements with actual PostgreSQL parser integration.\n* [pgsql-deparser](https://www.npmjs.com/package/pgsql-deparser): A streamlined tool designed for converting PostgreSQL ASTs back into SQL queries, focusing solely on deparser functionality to complement `pgsql-parser`.\n* [@pgsql/parser](https://www.npmjs.com/package/@pgsql/parser): Multi-version PostgreSQL parser with dynamic version selection at runtime, supporting PostgreSQL 15, 16, and 17 in a single package.\n* [@pgsql/types](https://www.npmjs.com/package/@pgsql/types): Offers TypeScript type definitions for PostgreSQL AST nodes, facilitating type-safe construction, analysis, and manipulation of ASTs.\n* [@pgsql/enums](https://www.npmjs.com/package/@pgsql/enums): Provides TypeScript enum definitions for PostgreSQL constants, enabling type-safe usage of PostgreSQL enums and constants in your applications.\n* [@pgsql/utils](https://www.npmjs.com/package/@pgsql/utils): A comprehensive utility library for PostgreSQL, offering type-safe AST node creation and enum value conversions, simplifying the construction and manipulation of PostgreSQL ASTs.\n* [@pgsql/traverse](https://www.npmjs.com/package/@pgsql/traverse): PostgreSQL AST traversal utilities for pgsql-parser, providing a visitor pattern for traversing PostgreSQL Abstract Syntax Tree nodes, similar to Babel's traverse functionality but specifically designed for PostgreSQL AST structures.\n* [pg-proto-parser](https://www.npmjs.com/package/pg-proto-parser): A TypeScript tool that parses PostgreSQL Protocol Buffers definitions to generate TypeScript interfaces, utility functions, and JSON mappings for enums.\n* [libpg-query](https://github.com/constructive-io/libpg-query-node): The real PostgreSQL parser exposed for Node.js, used primarily in `pgsql-parser` for parsing and deparsing SQL queries.\n\n## Disclaimer\n\nAS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED \"AS IS\", AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.\n\nNo developer or entity involved in creating Software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the Software code or Software CLI, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.\n","readmeFilename":"README.md"}