freebsd 10安装postgresql 9.44

ports系统更新到最新参考:https://wiki.freebsdchina.org/faq/ports

posts安装,前提网络畅通
cd /usr/ports/databases/postgresql94-server
make install clean
或者
make reinstall
make clean
中间有少许配置根据提示处理,有些要到网络下载。直到完成
想要移除该软件时,只要在该软件的 ports 目录中打 make deinstall 即可

设置数据库:
启动Postgres不能使用root用户(Postgres不建议这样作),所以,接下来创建一个专门管理odoo的用户:
用pw命令新建一个用户odoo使用cshell,家目录为/home/odoo,属于组wheel,口令交互输入
#pw useradd odoo -s /bin/sh -d /home/odoo -m -g wheel -h 0
根据提示输入密码并确认密码。
完成后odoo用户拥有 /home/odoo的所有权
su odoo
初始化数据库,设置postgresql_initdb_flags,并初始化:
initdb -D /home/odoo/data --locale=C -E UTF8 

在此用户及具有所有权的目录下设置初始化的数据库,所有权不变
初始化完毕,启动数据库服务:
su提权要先将普通用户odoo加入wheel组
root登陆$pw gourpmod wheel -m odoo
配置资源限制, 参考
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/security-resourcelimits.html
http://www.blogbus.com/wenheping-logs/236131525.html
ee /etc/login.conf
  postgres:\
        :lang=en_US.UTF-8:\
        :setenv=LC_COLLATE=C:\
        :tc=default:
    并且运行:  # cap_mkdb /etc/login.conf
    再并且把postgresql_class="postgres"写入到文件/etc/rc.conf中。

使用ports安装成功后,
启动postgresql,启动脚本/usr/local/etc/rc.d/postgresql。开始要添加到/etc/rc.conf文件,这个也是有提示
在 rc.conf 里增加启动项:
postgresql_enable="YES"
postgresql_data="/home/odoo/data"             #这里写你中间的数据库存放路径
postgresql_flags="-w -s -m fast"
postgresql_class="default"      #和/etc/login.conf中的定义对应,default
postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"  #增加这行,下面就不会提示找不到合适的编码设置了。

编辑允许网络访问
ee /home/odoo/data/postgresql.conf
修改一下内容
listen_addresses = ‘*’
port=5432
unix_socket_directories = '/home/odoo/data/'

在文件夹../data/pg_hba.conf里面        
找到“# IPv4 local connections:”(不包括引号,下同)             
在它下面的“host    all         all         127.0.0.1/32          trust”             
下面添加一行,内容为“host all all 192.168.0.1/20 md5”   #允许访问的ip地址,修改用户密码加密方式

存盘,重启机器,就可以随机启动了。
#shutdown -r now

如果要手工运行PostgreSQL服务:
# /usr/local/etc/rc.d/postgresql start -D /home/odoo/data -l /home/odoo/data/logfile
或者
pg_ctl start
pg_ctl status 显示启动状态
service postgresql restart 
查看服务是否启动
# ps uaxww | grep -i post

提示:
createdb test
成功的话进入 sql 建立用户
psql test
#:注意在psql中的sql语句以‘;’为结束符号后执行
CREATE USER 用户名 WITH PASSWORD '密码';
CREATE USER 用户名 WITH SUPERUSERPASSWORD '密码';
psql 终端可以用\du 或\du+ 查看,也可以查看系统表 select * from pg_roles;建一个数据库操作管理的用户,用这个用户登录pgadmin远程连接测试是否服务完全启动
createuser name -P
dropuser name
修改用户权限密码
alter role aaa with createdb;
alter role aaa with login;
alter role aaa encrypted password 'bbb'; #如果pg_hba.conf中使用md5加密密码则用户密码必须加密encrypted选项方能正常登录
select rolname,rolpassword from pg_authid; #查看密码加密状态,参考:http://www.myexception.cn/operating-system/1348177.html
查看和修改用户的有效期
\pset x on
select * from pg_roles where rolname='odoo';
alter role odoo with valid untile 'infinity'; #修改为无限期


“ls -la” 命令就能看到文件的权限设置
“chown ” 改变属主、属组
“chmod” 修改文件读写权限
“pw usershow -a”  查看所有用户
“pw groupshow -a” 查看所有群组
“rm -rvf 目录” 删除目录里所有文件和目录
“grep -R pgsql 目录”查找目录中含有pgsql的文件
find /  | grep "pgsql" 找unix机器中所有包含“jdbc/WapDataSource”字符串的文件 
 #pw usershow -a 显示所有用户查看服务是否启动
# ps uaxww | grep -i posttop 显示所有进程

复位数据库的日志及其他控制内容命令用法:
#pg_resetxlog /home/odoo/data Transaction log reset后边那个参数是PG的data目录全路径。弄完以后再启动即可。
pg_resetxlog名称pg_resetxlog -- 重置一个数据库集群的预写日志以及其它控制内容语法pg_resetxlog [-f] [-n] [-ooid ] [-x xid ] [-e xid_epoch ] [-m mxid ] [-O mxoff ] [-l timelineid, fileid, seg ] datadir描述pg_resetxlog 清理预写日志(WAL)并且可以有选择地重置其它一些存储在 pg_control 文件中的控制信息。有时候,如果这些文件崩溃了,就需要这个功能。一定只把它用作最后的方法,就是说只有因为这样的崩溃导致服务器无法启动的时候才使用。开ssh远程登录vi /etc/inetd.conf ssh stream top    nowait root     /usr/sbin/sshd 去掉ssh前的#,保存退出 让root能够远程登录,系统默认禁止root远程登录,学习无关紧要,直接放行 #vi /etc/ssh/sshd_config找到:#PermitRootLogin no改成:PermitRootLogin yes   注意去#重起sshd#/etc/rc.d/sshd restart

猜你喜欢

转载自blog.csdn.net/uhml/article/details/50986469