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"
+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"
-val _ = Dbms.register ("postgres", {adduser = adduser,
- createdb = createdb})
+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