闲着没事用源码编译安装了postgresql,遇到了不少故障,记录一下。
1:用./configure配置时发生错误。看信息说是缺少相关包。有什么readline,zlip等。
我配置的很简单,只是配置路径:./configure --prefix=/home/zhangsan/postgresql
根据错误信息,它少什么包我就安什么包。通过新立得软件安装。
不知对不对,最后配置没出错,也编译成功了。
2:要创建个linux用户:postgres 和数据库的默认用户对应。
shell>adduser postgres
3:在postgresql安装目录创建data和log两个目录,分别存放数据和日志。
要确保postgresql目录及以下目录的属主是postgres,还要修改一下
shell>sudo chown postgres:postgres /home/zhangsan/postgresql/
4:切换到postgres用户并初始化数据库
用postgresql/bin/initdb 命令。使用时还要指定data目录和log目录
shell>initdb -D /home/zhangsan/postgresql/data -X /home/zhangsan/postgresql/log
5:用pg_ctl启动数据库服务时出错。
发现没有那人目录,也没那个文件。
但是我用 ls 查看了一下,在tmp目录下发现了一个同名文件,用ln命令进行软链接。
ln -s /tmp/.s.PGSQL.5432
同时在data/postgresql.conf中把#注释取消
本来打不开这个文件,切换到root就打开了。
之后又在log日志目录下建了一个日志文件pglog.log,文件名是随便起的。
然后用命令pg_ctl启动。启动时指定数据目录和日志文件
pg_ctl -D /.../data -X /.../log/pglog.log
用绝对路径。
切换到postgres用户,用psql就启动了。