通过postgresql-8.3.7-1-linux.bin安装的新版8.3.1.7在shell环境下运行psql mydb后提示command not found为什么?
是不是说,这个版本不可以在文字模式下运行了?
有设置方面的问题吗?

解决方案 »

  1.   

    应该是你的环境变量没设置。postgresql 安装到哪个目录中了?或者直接 
    find / -name "psql" -print 
    在文件系统中查找一下。一般会在 /usr/local/pgsql/bin 下面, 相同目录下应该还有createdb 
      

  2.   

    psql在/opt/PostgreSQL/8.3/bin中但是在终端上用root的ls命令看不到?如何看到并执行该命令。
      

  3.   

    那就先 cd /opt/PostgreSQL/8.3/bin
    然后 psql mydatabasename或者直接 
    /opt/PostgreSQL/8.3/bin/psql mydb
    如果可以,则你需要把 /opt/PostgreSQL/8.3/bin加到你的PATH变量中。
      

  4.   

    [root@linux /]# cd /opt/PostgreSQL/8.3/bin
    [root@linux bin]# ls
    clusterdb   droplang  oid2name        pg_dump       pltcl_delmod   psql
    createdb    dropuser  pgbench         pg_dumpall    pltcl_listmod  reindexdb
    createlang  ecpg      pg_config       pg_resetxlog  pltcl_loadmod  vacuumdb
    createuser  initdb    pg_controldata  pg_restore    postgres       vacuumlo
    dropdb      ipcclean  pg_ctl          pg_standby    postmaster
    [root@linux bin]# su postgres
    bash-3.2$ psql mydb
    bash: psql: command not found
    还是没有问题
      

  5.   

    su postgres
    检查一下你的当前工作目录!
    pwd或者你还是直接用
    /opt/PostgreSQL/8.3/bin/psql mydb
      

  6.   

    [root@linux /]# cd /opt/PostgreSQL/8.3/bin 
    这句说明已经在 /opt/PostgreSQL/8.3/bin/目录下了。
    错误依旧。为什么?用 /opt/PostgreSQL/8.3/bin/psql mydb
    可以了!
      

  7.   


    你后面不又用了su ?
    所以先用pwd确认你当前的目录。
      

  8.   

    谢谢!
    [root@p-gec-linux bin]# su postgres
    bash-3.2$ pwd
    /opt/PostgreSQL/8.3/bin
    目录没问题!
      

  9.   

    看一下你的PATH环境变量,有没有把. 加在里面?
      

  10.   

    linux 即使你切换到目录下, 执行命令也不会从当前目录找的,可以加入路径:./psql 可以用完整路径,最好是加入到 path 环境变量里把 . 加入 path 是非常不推荐的.