1、安装地址:10.74.49.187
2、软件存放目录:/usr/local/postsql
3、数据存放目录:/usr/local/postsql/pgsql_data
4、日志目录:/usr/local/postsql /pgsql_log
安装方式为压缩包安装
安装包:postgresql-10.10-2-linux-x64-binaries.tar.gz
[root@linuxprobe ~]# useradd postgres
[root@linuxprobe ~]# passwd postgres
软件包目录
[root@linuxprobe ~]# mkdir -p /usr/local/postsql
数据存放目录
[root@linuxprobe ~]# mkdir -p /usr/local/postsql /pgsql_data
[root@linuxprobe ~]# chown -R postgres:postgres /usr/local/postsql /pgsql_data
[root@linuxprobe ~]# chmod -R 775 /usr/local/postsql /pgsql_data
日志目录
[root@linuxprobe ~]# mkdir -p /usr/local/postsql /pgsql_log
[root@linuxprobe tools]# tar -zxvf postgresql-10.10-2-linux-x64-binaries.tar.gz
给解压出来的安装包授权
[root@linuxprobe tools]# chmod -R 777 pgsql/
切换用户
[root@linuxprobe tools]# su – postgres
[postgres@linuxprobe ~]$ /usr/local/postsql /pgsql/bin/./initdb -D /monchickey/pgsql_data/
设置远程登录
[postgres@linuxprobe bin]$ cd /usr/local/postsql /pgsql_data/
[postgres@linuxprobe pgsql_data]$ vim postgresql.conf
listen_addresses = '*' --所有用户
修改访问IP段
[postgres@linuxprobe pgsql_data]$ vim pg_hba.conf
在文件末尾加入:host all all 0.0.0.0/0 md5
注:trust为无密码信任登录,只需输入ip和port即可登录;mds需要用户验证登录;
启动
[postgres@linuxprobe pgsql_data]$ /usr/local/postsql /pgsql/bin/pg_ctl -D /usr/local/postsql /pgsql_data/ -l logfile start
关闭
[postgres@linuxprobe pgsql_data]$ /usr/local/postsql /pgsql/bin/pg_ctl -D /usr/local/postsql /pgsql_data/ stop
注意,默认postgres用户密码是空,前面配置完成之后需要登录修改密码才能远程
[postgres@linuxprobe pgsql_data]$ /usr/local/postsql /pgsql/bin/psql -U postgres
postgres=# \password postgres
注意,退出命令行用\q
CREATE TABLE student ( id integer NOT NULL, name character(32), number char(5), CONSTRAINT student_pkey PRIMARY KEY (id) );
创建表之后可以使用 \d student; 查看表的详细信息,如下:
现在可以插入一条测试数据: INSERT INTO student (id, name, number) VALUES (1, '张三', '1023');
然后可以查询这条数据: SELECT * FROM student WHERE id=1;
# 启动日志收集, 这是一个后台进程,抓取发送到stderr的日志消息,并会将他们重定向到日志文件。
logging_collector = on
# 日志输出路径,可以是自定义绝对路径或相对于数据目录 PGDATA 的相对路径
log_directory = 'log'
# 文件名,可以带上格式字符串
log_filename = 'postgresql-%a.log'
# 当生成新的文件时,文件名已存在,则覆盖同名旧文件名
log_truncate_on_rotation = on
#设置日志记录内容,log_statement:none, ddl, mod, and all 默认是 none
# None表示不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP语句,
# mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等
# all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句,但会对数据库性能产生较大影响,生产环境不建议配置此值
log_statement = mod
# 以上设置完成之后,可以记录到 update、drop 等,但是并不会记录 select 语句,加上 log_min_duration_statement = 0 才可以记录到select
log_min_duration_statement=0