首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装PostgreSQL的Bash脚本-失败

安装PostgreSQL的Bash脚本-失败
EN

Stack Overflow用户
提问于 2012-12-06 06:15:49
回答 1查看 485关注 0票数 2

我构建了这个部署脚本,它在部署Debian6.0服务器时运行。我之前已经在这里展示过了(这是一个linode堆栈脚本,以防其他人想知道):

代码语言:javascript
复制
#!/bin/bash
#
# Install PostgreSQL
#
# Copyright (c) 2010 Filip Wasilewski <en@ig.ma>.
#
# 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)

我使用这个脚本部署了我的服务器,这个脚本构建在Filip的版本之上,但是当我试图通过输入pg_ctl来查看postgresql是否正在运行时,它显示没有找到命令。

在这件事上我哪里错了?因为它是在服务器运行时部署的,所以我看不出哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 23:13:24

正如人们所说,看起来您的路径中没有PostgreSQL bin目录。在我从apt安装PostgreSQL 9.1/9.2的Ubuntu上的经验中,postgres9.1用户被创建了,但是它没有正确地设置你的环境,所以pg_ctlinitdb等不在你的PATH上。

我看不到您使用的是哪个PostgreSQL版本,但我的9.1和9.2实例将二进制文件存储在/usr/lib/postgresql/9.2/bin

检查该目录是否包含pg_ctl和其他二进制文件。如果是这样的话

尝试运行:

代码语言:javascript
复制
export PATH=$PATH:/usr/lib/postgresql/9.2/bin

看看这是否允许您运行pg_ctl。如果是这样,则需要在从.bashrc或类似程序登录时执行该命令

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13733472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档