赞
踩
目录
7.4 将qztestdb数据库的所有权限都赋予qztest
8.3 此后即可从其它机器上登录,例如用Navicat for PostgreSQL
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。
PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。
PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。
PostgreSQL可在所有主要操作系统(即Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows等)上运行。
PostgreSQL支持文本,图像,声音和视频,并包括用于C/C++,Java,Perl,Python,Ruby,Tcl和开放数据库连接(ODBC)的编程接口。
PostgreSQL支持SQL的许多功能,例如复杂SQL查询,SQL子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0))。
在PostgreSQL中,表可以设置为从“父”表继承其特征。
可以安装多个扩展以向PostgreSQL添加附加功能。
操作系统 | centos |
CPU | 4核 |
内存 | 16G |
Postgresql版本 | postgresql-11.4 |
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
- #查看用户是否存在
- id postgres
-
- #添加用户组及用户
- groupadd postgres
- useradd -g postgres postgres
-
- #再次查看可以查看对应的uid gid
- id postgres
选择对应的磁盘空间较大的盘创建数据目录
- mkdir -p /pg/postgresql/data
- chown -R postgres:postgres /pg
rz filename
- #解压
- tar -zxvf postgresql-11.4.tar.gz
- #进入postgresql解压目录
- cd /pg/postgresql-11.4
-
- #编译 指定安装目录
- ./configure --prefix=/pg/postgresql
PostgreSQL配置脚本选项
- #安装
- make && make install
编译后结果如下
至此,postgresql安装完成
- # 切换到postgres用户
- su - postgres
-
- # 编辑postgres用户环境变量
- vim .bash_profile
-
- # 添加如下内容
- export PGHOME=/pg/postgresql
- export PGDATA=/pg/postgresql/data
- PATH=$PATH:$HOME/bin:$PGHOME/bin
-
- # 使环境变量生效
- source .bash_profile
initdb
此时,postgresql数据目录下已经生成对应的文件。
- #进入postgresql目录
- cd /pg/postgresql/data
- #查看
- ll -h
修改数据目录下的postgresql.conf 及 pg_hba.conf文件
postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。
pg_hba.conf 配置对数据库的访问权限
初期测试使用时,可以简单修改部分配置,其他值使用默认值
修改 postgresql.conf
- vim postgresql.conf
- 修改 listen_addresses 为 * ,代表所有主机皆可访问
- listen_addresses = '*'
修改 pg_hba.conf(允许任意用户从任意机器上以密码方式访问数据库)
- vim pg_hba.conf
- 添加如下记录
- host all all 0.0.0.0/0 trust
- host all all 127.0.0.1/32 trust
如需配置为服务启动方式,可以按照如下步骤操作
- 切换至管理员用户root
- # 进入postgresql源码目录
- cd /pg/postgresql-11.4/contrib/start-scripts
-
- # 此目录下有各系统的启动目录,需先将其添加执行权限
- chmod +x linux
-
- # 将启动服务拷贝至启动服务下
- cp linux /etc/init.d/postgresql
因启动服务命令里配置上了默认安装路径目录及数据目录,如与默认路径不一致,需手动调整
- vim /etc/init.d/postgresql
-
- 修改 prefix及PGDATA 路径
-
- prefix=/pg/postgresql
- PGDATA="/pg/postgresql/data"
- a) 通过服务启动postgresql
- /etc/init.d/postgresql start
-
- b) 通过服务关闭postgresql
- /etc/init.d/postgresql stop
- c) 通过pg_ctl 启动
- # 将postgresql安装路径bin目录下的命令赋权给postgres用户
- cd /pg/postgresql/bin
- chown -R postgres:postgres .
-
- # 切换至postgres用户启动服务
- su - postgres
-
- # 启动服务
- pg_ctl -D /pg/postgresql/data/ -l logfile start
-
- # 关闭服务
- pg_ctl -D /pg/postgresql/data/ -l logfile stop
至此,便可以通过客户端连接数据库进行操作了
数据库创建及使用
切换到Linux用户postgres,然后执行psql
psql
此时就在数据库postgres中了。使用 psql -d [databasename] 可登录其他数据库。注意:执行psql命令时,必须确认已配置postgresql的环境变量。
- postgres=# create user qztest with password 'qztestuat2023!';
- CREATE ROLE
- 注意:语句要以分号结尾。密码要用单引号括起来。
- postgres=# CREATE DATABASE qztestdb OWNER qztest;
- ----------------------------------------------------------------------
- 另一种方式创建数据库:createdb qztestdb
postgres=# GRANT ALL PRIVILEGES ON DATABASE qztestdb TO qztest;
- postgres=# \q
- 或者输入quit退出
psql -d qztestdb
- qztestdb=# create table test1(id int not null primary key,name varchar(20),age int );
- CREATE TABLE
- qztestdb=# create index idx_test1_name on test1(name);
- CREATE INDEX
- qztestdb=# insert into test1 values(1,'lisi',28);
- INSERT 0 1
- qztestdb=# insert into test1 values(2,'测试',20);
- INSERT 0 1
- qztestdb=# insert into test1 values(3,'前置',22);
- INSERT 0 1
- qztestdb=# insert into test1 values(4,'chinalife',59);
- INSERT 0 1
- qztestdb=# insert into test1 values(5,'小新',51);
- INSERT 0 1
- qztestdb=# insert into test1 values(6,'张三',58);
- INSERT 0 1
- qztestdb=# insert into test1 values(7,'历史',64);
- INSERT 0 1
- qztestdb=# insert into test1 values(8,'网二',11);
- INSERT 0 1
- qztestdb=# insert into test1 values(9,'码子',28);
- INSERT 0 1
- qztestdb=# insert into test1 values(10,'小红',99);
- INSERT 0 1
- 查询表:
- qztestdb=# select * from test1;
文件:postgresql.conf
-
- 位置:vim /pg/postgresql/data/postgresql.conf
- 添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:
- listening_address: '*'
文件:pg_hba.conf
- 位置:vim /pg/postgresql/data/pg_hba.conf
- 添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:
- host all all 0.0.0.0/0 md5
和上面安装时候配置一样.
pg_ctl -D /pg/postgresql/data/ -l logfile restart
主机名或IP: 192.*.*.*
端口: 5432
初始数据库: xxx
用户: xxx
密码: ******
(数据库用户xxf的密码,不是Linux用户xxf的密码)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。