问题
CKAN安装文档向您展示了如何列出已安装的 PostgreSQL 数据库。
该命令如下所示:
sudo -u postgres psql -l
当我在我的 shell 中尝试时,我得到一个错误:
$ sudo -u postgres psql -l
sudo: psql: command not found
解决方法
CentOS 论坛上的 Daniel2d2art通过完全限定 psql 的路径来解决这个问题。
我的 psql 位于目录/usr/pgsql-9.2/bin
中,因此我的解决方法现在如下所示:
sudo -u postgres /usr/pgsql-9.2/bin/psql -l
当我在我的 shell 中尝试它时,它可以工作:
$ sudo -u postgres /usr/pgsql-9.2/bin/psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+----------+----------+-------------+-------------+-----------------------
postgis_test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
我该如何正确修复它?
我不应该完全限定路径,对吗?
postgres 用户的路径中已经有 psql:
$ sudo -u postgres echo $PATH
/usr/pgsql-9.2/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
我该如何正确解决这个问题?