绕着走是常见的解决问题的方法。可是,不见得总是有用。而且,有的事情,早晚还会绕回来,逃不掉的。
现在就绕回来,解决PostGreSQL数据库的问题。同时,要将实际的数据库的数据部分,设置在非系统盘的专门的一个数据盘上,便于扩展和备份。或者直接采用RDS。
以下就是问题的表现。在liferay系统盘启动后出现如下提示:
“
HTTP Status 500 - java.lang.ArrayIndexOutOfBoundsException: 0
type Exception report
messagejava.lang.ArrayIndexOutOfBoundsException: 0
descriptionThe server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException: 0
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)
root cause
java.lang.ArrayIndexOutOfBoundsException: 0
com.liferay.portal.util.PortalInstances._getDefaultCompanyId(PortalInstances.java:344)
com.liferay.portal.util.PortalInstances.getDefaultCompanyId(PortalInstances.java:83)
com.liferay.portal.util.PortalImpl.getDefaultCompanyId(PortalImpl.java:1909)
com.liferay.portal.util.PortalUtil.getDefaultCompanyId(PortalUtil.java:522)
com.liferay.portal.servlet.filters.validhostname.ValidHostNameFilter.doFilterTry(ValidHostNameFilter.java:38)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:183)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119)
noteThe full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.
Apache Tomcat/7.0.42
”
下面是分析和解决的过程:
首先从LifeRay的论坛中查到了类似的问题,然后有版主答复如下:
Community Moderator
等级: Liferay Legend
帖子: 9810
加入日期: 2006年9月1日
其中:
purge | 英[pɜ:dʒ] | 美[pɜ:rdʒ] |
vt. | 肃清; 清除,(使)净化; (使) 通便; |
n. | 净化; 整肃; <医>泻药; |
/var/lib/pgsql/data/postgresql.conf
然后在/pgsql/data/global/pg_auth文件中查到了用户角色:postgres。
然后在/pgsql/data/global/pg_database文件中查到了LifeRay所用的数据库:lportal。
然后就进入数据库对话psql里面查看。如下: psql -U postgres -d lportal
[root@david global]# psql -U postgres -d lportal
psql (8.4.20)
输入 "help" 来获取帮助信息.
lportal=#
[root@david global]# vacuumdb -U postgres -d lportal
[root@david global]# ps -ef | grep postgres
postgres 1612 1 0 Oct10 ? 00:00:01 /usr/bin/postgres
postgres 1674 1612 0 Oct10 ? 00:00:02 postgres: logger process
postgres 1677 1612 0 Oct10 ? 00:00:16 postgres: writer process
postgres 1678 1612 0 Oct10 ? 00:00:12 postgres: wal writer process
postgres 1679 1612 0 Oct10 ? 00:00:03 postgres: autovacuum launcher process
postgres 1680 1612 0 Oct10 ? 00:00:03 postgres: stats collector process
postgres 6796 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60087) idle
postgres 6797 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60088) idle
postgres 6798 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60089) idle
postgres 6799 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60090) idle
postgres 6800 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60091) idle
postgres 6801 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60092) idle
postgres 6802 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60093) idle
postgres 6803 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60094) idle
postgres 6804 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60095) idle
postgres 6805 1612 0 11:09 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60096) idle
postgres 6808 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60097) idle
postgres 6809 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60098) idle
postgres 6810 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60099) idle
postgres 6811 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60100) idle
postgres 6812 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60101) idle
postgres 6813 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60102) idle
postgres 6814 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60103) idle
postgres 6815 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60104) idle
postgres 6816 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60105) idle
postgres 6817 1612 0 11:10 ? 00:00:00 postgres: postgres lportal 127.0.0.1(60106) idle
root 7119 6924 0 12:22 pts/0 00:00:00 grep postgres
[root@david global]#
但是这说明连接过多了吗?
不管怎样,改了最大连接数,100改成了500:
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections =500 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directory = '' # (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
============================
尝试停掉数据库,再重启,来看看是否解决问题,但是输入停数据库的指令后,仍然有进程在那里。怎么回事儿呢?
停数据库,并查进程:
[root@david pgsql]# psql -U postgres -d lportal
psql (8.4.20)
输入 "help" 来获取帮助信息.
lportal=# pg_ctl stop
lportal-# pg_ctl start
lportal-# pg_ctl restart
lportal-# /q
lportal-# \q
[root@david pgsql]# netstat -npl | grep postgres
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1614/postgres
tcp 0 0 ::1:5432 :::* LISTEN 1614/postgres
unix 2 [ ACC ] STREAM LISTENING 10493 1614/postgres /tmp/.s.PGSQL.5432
[root@david pgsql]# ps aux | grep postgres
postgres 1614 0.0 0.5 226268 11312 ? S 12:37 0:00 /usr/bin/postgres
postgres 1676 0.0 0.0 179336 1500 ? Ss 12:37 0:00 postgres: logger process
postgres 1678 0.0 0.1 226384 2284 ? Ss 12:37 0:02 postgres: writer process
postgres 1679 0.0 0.0 226268 1680 ? Ss 12:37 0:02 postgres: wal writer process
postgres 1680 0.0 0.1 226688 2152 ? Ss 12:37 0:00 postgres: autovacuum launcher process
postgres 1681 0.0 0.0 179740 1864 ? Ss 12:37 0:00 postgres: stats collector process
postgres 2716 0.0 0.3 228600 6440 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55188) idle
postgres 2717 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55189) idle
postgres 2718 0.0 0.3 228600 6460 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55190) idle
postgres 2719 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55191) idle
postgres 2720 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55192) idle
postgres 2721 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55193) idle
postgres 2722 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55194) idle
postgres 2723 0.0 0.3 228600 6436 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55195) idle
postgres 2724 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55196) idle
postgres 2725 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55197) idle
postgres 2727 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55198) idle
postgres 2728 0.0 0.3 228600 6520 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55199) idle
postgres 2729 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55200) idle
postgres 2730 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55201) idle
postgres 2731 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55202) idle
postgres 2732 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55203) idle
postgres 2733 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55204) idle
postgres 2734 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55205) idle
postgres 2735 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55206) idle
postgres 2736 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55207) idle
root 2886 0.0 0.0 103256 888 pts/0 S+ 16:54 0:00 grep postgres
[root@david pgsql]# psql -U postgres -d lportal
psql (8.4.20)
输入 "help" 来获取帮助信息.
lportal=# pg_ctl stop
lportal-# \q
[root@david pgsql]# ps aux | grep postgres
postgres 1614 0.0 0.5 226268 11312 ? S 12:37 0:00 /usr/bin/postgres
postgres 1676 0.0 0.0 179336 1500 ? Ss 12:37 0:00 postgres: logger process
postgres 1678 0.0 0.1 226384 2284 ? Ss 12:37 0:02 postgres: writer process
postgres 1679 0.0 0.0 226268 1680 ? Ss 12:37 0:02 postgres: wal writer process
postgres 1680 0.0 0.1 226688 2152 ? Ss 12:37 0:00 postgres: autovacuum launcher process
postgres 1681 0.0 0.0 179740 1864 ? Ss 12:37 0:00 postgres: stats collector process
postgres 2716 0.0 0.3 228600 6440 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55188) idle
postgres 2717 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55189) idle
postgres 2718 0.0 0.3 228600 6460 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55190) idle
postgres 2719 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55191) idle
postgres 2720 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55192) idle
postgres 2721 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55193) idle
postgres 2722 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55194) idle
postgres 2723 0.0 0.3 228600 6436 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55195) idle
postgres 2724 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55196) idle
postgres 2725 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55197) idle
postgres 2727 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55198) idle
postgres 2728 0.0 0.3 228600 6520 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55199) idle
postgres 2729 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55200) idle
postgres 2730 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55201) idle
postgres 2731 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55202) idle
postgres 2732 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55203) idle
postgres 2733 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55204) idle
postgres 2734 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55205) idle
postgres 2735 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55206) idle
postgres 2736 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55207) idle
root 2891 0.0 0.0 103256 888 pts/0 S+ 16:55 0:00 grep postgres
[root@david pgsql]# ps aux | grep postgres
postgres 1614 0.0 0.5 226268 11312 ? S 12:37 0:00 /usr/bin/postgres
postgres 1676 0.0 0.0 179336 1500 ? Ss 12:37 0:00 postgres: logger process
postgres 1678 0.0 0.1 226384 2284 ? Ss 12:37 0:02 postgres: writer process
postgres 1679 0.0 0.0 226268 1680 ? Ss 12:37 0:02 postgres: wal writer process
postgres 1680 0.0 0.1 226688 2152 ? Ss 12:37 0:00 postgres: autovacuum launcher process
postgres 1681 0.0 0.0 179740 1864 ? Ss 12:37 0:00 postgres: stats collector process
postgres 2716 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55188) idle
postgres 2717 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55189) idle
postgres 2718 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55190) idle
postgres 2719 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55191) idle
postgres 2720 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55192) idle
postgres 2721 0.0 0.3 228600 6460 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55193) idle
postgres 2722 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55194) idle
postgres 2723 0.0 0.3 228600 6436 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55195) idle
postgres 2724 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55196) idle
postgres 2725 0.0 0.3 228600 6444 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55197) idle
postgres 2727 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55198) idle
postgres 2728 0.0 0.3 228600 6524 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55199) idle
postgres 2729 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55200) idle
postgres 2730 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55201) idle
postgres 2731 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55202) idle
postgres 2732 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55203) idle
postgres 2733 0.0 0.3 228600 6460 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55204) idle
postgres 2734 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55205) idle
postgres 2735 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55206) idle
postgres 2736 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55207) idle
root 2897 0.0 0.0 103256 888 pts/0 S+ 16:56 0:00 grep postgres
[root@david pgsql]# psql -U postgres
psql (8.4.20)
输入 "help" 来获取帮助信息.
postgres=# pg_ctl stop
postgres-# \q
[root@david pgsql]# ps aux | grep postgres
postgres 1614 0.0 0.5 226268 11312 ? S 12:37 0:00 /usr/bin/postgres
postgres 1676 0.0 0.0 179336 1500 ? Ss 12:37 0:00 postgres: logger process
postgres 1678 0.0 0.1 226384 3276 ? Ss 12:37 0:02 postgres: writer process
postgres 1679 0.0 0.0 226268 1680 ? Ss 12:37 0:02 postgres: wal writer process
postgres 1680 0.0 0.1 226688 2152 ? Ss 12:37 0:00 postgres: autovacuum launcher process
postgres 1681 0.0 0.0 179740 1864 ? Ss 12:37 0:00 postgres: stats collector process
postgres 2716 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55188) idle
postgres 2717 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55189) idle
postgres 2718 0.0 0.3 228600 6464 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55190) idle
postgres 2719 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55191) idle
postgres 2720 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55192) idle
postgres 2721 0.0 0.3 228600 6468 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55193) idle
postgres 2722 0.0 0.3 228600 6468 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55194) idle
postgres 2723 0.0 0.3 228600 6440 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55195) idle
postgres 2724 0.0 0.3 228600 6456 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55196) idle
postgres 2725 0.0 0.3 228600 6448 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55197) idle
postgres 2727 0.0 0.3 228600 6472 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55198) idle
postgres 2728 0.0 0.3 228600 6528 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55199) idle
postgres 2729 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55200) idle
postgres 2730 0.0 0.3 228600 6468 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55201) idle
postgres 2731 0.0 0.3 228600 6468 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55202) idle
postgres 2732 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55203) idle
postgres 2733 0.0 0.3 228600 6460 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55204) idle
postgres 2734 0.0 0.3 228600 6480 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55205) idle
postgres 2735 0.0 0.3 228600 6468 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55206) idle
postgres 2736 0.0 0.3 228600 6452 ? Ss 16:23 0:00 postgres: postgres lportal 127.0.0.1(55207) idle
root 2908 0.0 0.0 103256 888 pts/0 S+ 16:59 0:00 grep postgres
用su davidqi切换到davidqi用户下,可以正常操作pg_ctl指令了。说明,可能停数据库的指令没有真正执行。因为指令不对,另外,可能在等进程结束后才能真正停止。
至此,觉得还是先在图形化的postgreSQL的管理端上查看更好。于是下载安装了pgadmin3.通过“
yum install pgadmin3
”来安装了。下面用VNC进入图形界面继续研究。
尝试关闭数据库服务,结果如下。看来还得先设置好PGDATA环境变量。
[root@david pgsql]# pg_ctl stop
pg_ctl: 无法以 root 用户运行
请以服务器进程所属用户 (非特权用户) 登录 (或使用 "su")
用davidqi执行数据库停止说没有权限。
[root@david pgsql]# su davidqi pg_ctl stop
bash: pg_ctl: 权限不够
查看了postgres用户有权限,如下:(可是忘了postgres用户的密码!!!)
drwx------ 24 postgres postgres 4.0K 10月 12 21:11pgsql
[root@david lib]# su postgres pg_ctl stop
/usr/bin/pg_ctl: /usr/bin/pg_ctl: cannot execute binary file
20151012,今天就到这里吧。晚安!
==========================
停掉postgresql然后重启:
看来正常停会等待所有过程停掉,不会成功,需要快速停:
su - postgres -c 'pg_ctl stop -m fast'
强制停了重启,没有启动LifeRay的时候,通过pgAdmin直接看,还是有个红叉在lportal数据库上。我觉得这是个核心问题。
================================================================================
关于postgresql太多数据库连接的处理,网上文章:http://www.2cto.com/database/201306/220727.html
关于"
[root@david bin]# pg_ctl stop
pg_ctl: 无法以 root 用户运行
请以服务器进程所属用户 (非特权用户) 登录 (或使用 "su")
[root@david bin]# su davidqi pg_ctl stop
pg_ctl: pg_ctl: cannot execute binary file
[root@david bin]# su davidqi pg_ctl
pg_ctl: pg_ctl: cannot execute binary file
http://blog.chinaunix.net/uid-23842323-id-2656599.html
关于postgresql数据库基础操作的网上文章:
http://www.sijitao.net/1454.html