X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/d541c6185fb0f426dce0b16e85327b53635169e0..99cc41443c07f97535eaeecc628d99075ca2cebf:/src/plugins/postgres.sml diff --git a/src/plugins/postgres.sml b/src/plugins/postgres.sml index a267e4f..09e3a07 100644 --- a/src/plugins/postgres.sml +++ b/src/plugins/postgres.sml @@ -20,12 +20,31 @@ structure Postgres :> POSTGRES = struct -fun adduser user = +fun adduser {user, passwd} = if Slave.shell [Config.Postgres.adduser, user] then NONE else SOME "Error executing CREATE USER script" -val _ = Dbms.register ("postgres", {adduser = adduser}) +fun passwd _ = SOME "We don't use PostgreSQL passwords." + +fun createdb {user, dbname} = + if Slave.shell [Config.Postgres.createdb, user, " ", dbname] then + NONE + else + SOME "Error executing CREATE DATABASE script" + +fun dropdb {user, dbname} = + if Slave.shell [Config.Postgres.dropdb, user, " ", dbname] then + NONE + else + SOME "Error executing DROP DATABASE script" + +val _ = Dbms.register ("postgres", {getpass = NONE, + adduser = adduser, + passwd = passwd, + createdb = createdb, + dropdb = dropdb, + grant = fn _ => SOME "You don't need to use GRANT for Postgres."}) end