The real PostgreSQL parser for nodejs. The primary objective of this module is to provide symmetric parsing and deparsing of SQL statements. With this module you can modify parts of a SQL query statement and serialize the query tree back into a formatted SQL statement. It uses the real PostgreSQL parser.
The main functionality provided by this module is deparsing, which PostgreSQL does not have internally.
npm install pgsql-parser
Rewrite part of a SQL query:
const parser = require('pgsql-parser');
const query = parser.parse('SELECT * FROM test_table');
query[0].SelectStmt.fromClause[0].RangeVar.relname = 'another_table';
console.log(parser.deparse(query));
// SELECT * FROM "another_table"
Parses the query and returns a parse object.
parameter | type | description |
---|---|---|
query |
String | SQL query |
Returns an object in the format:
{ query: <query|Object>,
error: { message: <message|String>,
fileName: <fileName|String>,
lineNumber: <line|Number>,
cursorPosition: <cursor|Number> }
Deparses the query tree and returns a formatted SQL statement. This function takes as input a query AST
in the same format as the query
property of on the result of the parse
method. This is the primary
functionality of this module.
parameter | type | description |
---|---|---|
query |
Object | Query tree obtained from parse |
Returns a normalized formatted SQL string.
License: https://github.com/zhm/pg-query-parser/blob/master/LICENSE.md
Thanks to https://github.com/zhm/pg-query-parser we've been able to start this repo and add a lot of functionality