aar*_*rkk 10 linux postgresql ubuntu
第 1 步:我sudo apt-get install postgresql-9.1按照 PostgreSQL 网站上的建议安装了 PostgreSQL
第 2 步:我尝试运行postgres. 它没有找到。无论出于何种原因,安装似乎没有将其添加到路径中?所以我不得不手动将该行添加export PATH=$PATH:/usr/lib/postgresql/9.1/bin到我的~/.profile. (旁注:有人知道为什么这是必要的吗?我在安装时做错了什么?我在 Ubuntu 中安装的所有其他东西“都可以正常工作”而无需更改$PATH......)
第 3 步:我尝试运行initdb /usr/local/var/postgres. 没有权限。我试着跑sudo initdb /usr/local/var/postgres。结果是sudo: initdb: command not found。怎么找不到这个命令?我只是跑了该死的东西!echo sudo $PATH显示路径中的 PostgreSQL 目录...我错过了什么?
我是 Linux 的新手,但这些都是我不断遇到的超级烦人的问题!
更新:我相信这与这个问题有关。然而,运行命令sudo -i并没有解决问题。我只是得到:-bash: initdb: command not found。伟大的。
更新:这似乎更接近。所以alias sudo='sudo env PATH=$PATH'我.bashrc按照指示添加了我的。仍然不起作用!看起来别名不起作用。当我运行时alias,我只显示一个。然而我.bashrc的充满了它们......所以那些设置有问题。
更新:由于我使用的是 Ubuntu 和 RVM,RVM 建议我将终端设置为“将命令作为登录 shell 运行”。根据我在这里所做的阅读,似乎该.bashrc文件不是在登录 shell 中读取的,而是在配置文件中读取的。所以我把这alias条线从.bashrcto移到了.profile,所以.profile现在最后有这个:
export PATH="/usr/lib/postgresql/9.1/bin:$PATH"
alias sudo='sudo env PATH=$PATH'
Run Code Online (Sandbox Code Playgroud)
......它仍然不起作用。运行alias仅显示 RVM 别名,而不显示sudo我尝试设置的别名。
更新从这个站点,我读到了 dotfiles 的优先级。看起来像.bash_profile以前一样.profile。话虽这么说,我的PATH补充是在做了.profile,而且似乎就好了加载,那么,为什么不alias也工作?移动alias到.bash_profile从.profile工作,但是。神秘。然后alias命令显示我的新别名。我终于输入了sudo initdb /usr/local/var/postgres,遇到了:initdb: cannot be run as root。哦真的吗?那你为什么给我权限错误?!所以现在我认为问题是我只需要到chown文件夹,但仍然initdb以我的用户身份运行而不是root.
UPDATE运行命令sudo chown myuser /usr/local/var/postgres/,然后运行initdb后允许数据库被初始化。很高兴很明显需要将目录权限设置为 myuser 而不是 root。极好的。4 小时后数据库初始化成功。
一旦您使用 安装了 PostgreSQL 服务器apt-get install postgresql-9.1,它就已经设置并运行,因此您的第 2 步和第 3 步(运行postgres和运行initdb)不是必需的,实际上会与已经设置的内容发生冲突。通过手动运行,initdb您最终会得到两个 postgres 集群。
对于Debian和Ubuntu PostgreSQL的包提供了一个名为命令pg_createcluster驻留在/usr/bin那你可以叫,如果你需要创建一个新的集群。在幕后,此命令将initdb使用正确的参数调用。最终用户不应该initdb直接调用,这就是它不在正常 PATH 中的原因。还有其他命令,如pg_dropcluster和pg_ctlcluster,它们取代了非打包 PostgreSQL 实例的管理方式。
所有这些都是为了让打包系统自动处理和升级集群,这些是基准 PostgreSQL 留给数据库管理员的功能。
小智 6
当您运行 sudo 时,最好将完整路径放在您正在运行的命令中。在您的实例中:
sudo /usr/lib/postgresql/9.1/bin/initdb /usr/local/var/postgres
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59398 次 |
| 最近记录: |