使用Postgresql为非管理员用户安排作业

时间:2017-04-26 19:48:26

标签: postgresql scheduler

是否有一个工具可以让我安排Postgresql查询定期运行而不是管理员?我正在寻找适用于Mac的解决方案。

我只对数据库的某些模式具有写权限(插入,更新,删除),但是希望每天安排在其中一个模式上运行的查询。

pgAgent是显而易见的选择,但我认为我需要成为管理员才能使用/安装。

1 个答案:

答案 0 :(得分:1)

  

是否有一个工具可以让我安排Postgresql查询定期运行而不是管理员?我正在寻找适用于Mac的解决方案。

使用pg_cron

Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {
  callback: onLoad,
  errorCallback: onError,
  credentials: 'Your Bing Maps Key'
}); 

function onLoad() {
  var options = {maxResults: 5}; 
  var manager = new Microsoft.Maps.AutosuggestManager(options);
  manager.attachAutosuggest('#searchBox', '#searchBoxContainer', selectedSuggestion);
}

function onError(message) {
  document.getElementById('printoutPanel').innerHTML = message;
}


function selectedSuggestion(suggestionResult) {
  document.getElementById('printoutPanel').innerHTML =
    'Suggestion: ' + suggestionResult.formattedSuggestion +
    '<br> Street: ' + suggestionResult.address.addressLine + 
    '<br> City: ' + suggestionResult.address.locality + 
    '<br> State: ' + suggestionResult.address.adminDistrict + 
    '<br> Zip: ' + suggestionResult.address.postalCode;
}

这要求您以管理员身份安装扩展程序。

您也可以运行INSERT INTO cron.job (schedule, command, nodename, nodeport, database, username) VALUES ('0 4 * * *', 'VACUUM', 'worker-node-1', 5432, 'postgres', 'marco'); ,假设它受OSX支持。如果您希望以常规用户身份设置要运行的任务(甚至是非DB任务)。