Execute Query and return results

Executes an arbitrary query and return the row results

Script postgresql Verified

by rossmccrann ยท 8/4/2022

The script

Submitted by hugo989 Bun
Verified 2 days ago
1
import { type Sql } from "windmill-client@1";
2

3
import { Client } from "pg"
4

5
type Postgresql = {
6
  host: string;
7
  port: number;
8
  user: string;
9
  dbname: string;
10
  sslmode: string;
11
  password: string;
12
};
13
export async function main(db: Postgresql, query: Sql = "SELECT * FROM demo;") {
14
  if (!query) {
15
    throw Error("Query must not be empty.");
16
  }
17
  const client = pgClient(db);
18
  await client.connect();
19
  const { rows } = await client.query(query);
20
  await client.end();
21
  return rows;
22
}
23

24
export function pgClient(db: any) {
25
  let db2 = {
26
    ...db,
27
    host: db.host,
28
    database: db.dbname,
29
    ssl: false,
30
  }
31
  return new Client(db2)
32
}
33

Other submissions
  • Submitted by rossmccrann Deno
    Created 394 days ago
    1
    import {
    2
      type Sql,
    3
    } from "https://deno.land/x/[email protected]/mod.ts";
    4
    
    
    5
    import { Client } from "https://deno.land/x/[email protected]/mod.ts"
    6
    
    
    7
    type Postgresql = {
    8
      host: string;
    9
      port: number;
    10
      user: string;
    11
      dbname: string;
    12
      sslmode: string;
    13
      password: string;
    14
    };
    15
    export async function main(db: Postgresql, query: Sql = "SELECT * FROM demo;") {
    16
      if (!query) {
    17
        throw Error("Query must not be empty.");
    18
      }
    19
      const { rows } = await pgClient(db).queryObject(query);
    20
      return rows;
    21
    }
    22
    
    
    23
    export function pgClient(db: any) {    
    24
      let db2 = {
    25
        ...db,
    26
        hostname: db.host,
    27
        database: db.dbname,
    28
        tls: {
    29
            enabled: false,
    30
        },
    31
      }
    32
      return new Client(db2)
    33
    }
  • Submitted by kungyc337 Python3
    Created 1117 days ago
    1
    #import wmill
    2
    
    
    3
    def main(x: str):
    4
        return x