1、删除数据库报错 :
postgres=# drop database lyy;
ERROR: database "lyy" is being accessed by other users
DETAIL: There is 1 other session using the database.
错误:数据库“lyy”被其他用户访问
细节:有一个其他会话使用数据库。
解决办法 :停止web服务,或者另一个终端打开了这个数据库
2、用户yy连接lyyku会报错说没有connect权限,那么就授予用户yy对数据库lyy的访问权限
#psql -E -U yy -d lyy
Password for user yy:
psql: FATAL: permission denied for database "lyy"
DETAIL: User does not have CONNECT privilege.
解决办法 :授予用户yy对数据库lyy的访问权限
#psql -E -U highgo
Password for user highgo:
psql (2.0.2)
Type “help” for help.
highgo=# grant connect on database lyy to yy;
3、postgres日志报错
postgres@ubuntu:~$ cat logfile
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5433? If not, wait a few seconds
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5433? If not, wait a few seconds
WARNING: could not create listen socket for "*"
FATAL: could not create any TCP/IP sockets
LOG: database system is shut down
解析 :
提示:另一个邮政局长已经运行在端口5433上了吗?如果没有,等几秒钟
警告:无法为“*”创建监听套接字
无法创建任何TCP/IP套接字
日志:数据库系统关闭
解决办法 :停掉服务,然后重启
netstat -lantp,查看端口,直接kill掉,然后进入数据里面,启动数据库,再查看日志
su - postgres
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
cat logfile
停掉数据库的监控报警
4、postgres日志报错
postgres@ubuntu:~$ cat logfile
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 3220) running in data directory "/usr/local/pgsql/data"?
解决办法:
killall -9 3220
重启数据库