2
我構建了這個部署腳本,該腳本在部署了我的debian 6.0服務器時運行。我在這裏顯示它之前(這是一個的Linode stackscript櫃面任何人想知道):安裝PostgreSQL的Bash腳本 - 失敗
#!/bin/bash
#
# Install PostgreSQL
#
# Copyright (c) 2010 Filip Wasilewski <[email protected]>.
#
# My ref: http://www.linode.com/?r=aadfce9845055011e00f0c6c9a5c01158c452deb
function postgresql_install {
aptitude -y install postgresql postgresql-contrib postgresql-dev libpq-dev
}
function postgresql_create_user {
# postgresql_create_user(username, password)
if [ -z "$1" ]; then
echo "postgresql_create_user() requires username as the first argument"
return 1;
fi
if [ -z "$2" ]; then
echo "postgresql_create_user() requires a password as the second argument"
return 1;
fi
echo "CREATE ROLE $1 WITH LOGIN ENCRYPTED PASSWORD '$2';" | sudo -i -u postgres psql
}
function postgresql_create_database {
# postgresql_create_database(dbname, owner)
if [ -z "$1" ]; then
echo "postgresql_create_database() requires database name as the first argument"
return 1;
fi
if [ -z "$2" ]; then
echo "postgresql_create_database() requires an owner username as the second argument"
return 1;
fi
sudo -i -u postgres createdb --owner=$2 $1
}
postgresql_install
postgresql_create_user(username, password)
postgresql_create_database(dbname, username)
我部署我的服務器使用此腳本,這是建立在菲利普的版本之上,但後來當我嘗試看看如果postgresql通過鍵入pg_ctl運行,它說沒有找到命令。
我在哪裏弄錯了?由於它在服務器運行時部署,我無法看到它出錯的地方。
執行,在登錄你確定你有'在'PATH' psql'和'createdb'?你真的應該在這種腳本中使用完整路徑。 –
我實際上並不知道「路徑」。什麼是我的完整路徑,指向我的postgresql安裝? – Jimmy
我不確定他們會在哪裏,試着說一下機器上的哪個psql,它已經正確安裝並可以訪問。 –