在Linux环境下安装PostgreSQL
由于实际的生产环境,PostgreSQL数据库都是部署在linux服务器上的,因此记录一下通过源码安装与命令行操作PG数据库的过程
下载
官方下载网址:https://www.postgresql.org/ftp/source/
我这里下载的是PostgresSQL源码版本为:postgresql-13.3.tar.gz
安装
1.创建postgres用户与用户组
--创建postgres用户组
groupadd postgres
--创建postgres用户,其用户组为postgres
useradd postgres -g postgres
2.安装必需依赖
yum install -y gcc gcc-c++
yum install -y readline-devel
yum install -y zlib-devel
3.解压源码包并进行编译
--解压源码包
tar -zxvf postgresql-13.3.tar.gz
--解压出 postgresql-13.3文件夹,移动到指定路径下
mv postgresql-13.3 /opt/
--创建一个路径用于存放编译后的postgresql
mkdir /opt/postgresql
--进入postgresql-13.3路径下,编译源码并将编译后的postgresql存放在/opt/postgresql路径下
cd /opt/postgresql
./configure --prefix=/opt/postgresql
--构建
make
--安装文件
make install
4.创建存放postgresql数据的目录,初始化数据库并启动
--在/opt/postgresql路径下创建数据目录pg_data
mkdir /opt/postgresql/pg_data
--修改数据目录的所属用户与用户组均为postgres
chown -R postgres:postgres /opt/postgresql/pg_data
--切换到postgres用户,并初始化数据库
su postgres
/opt/postgresql/bin/initdb -D /opt/postgresql/pg_data
--启动数据库,并将日志打印到pg.log文件上
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log start
5.创建测试数据库,修改超级管理员postgres的密码
--创建test数据库
/opt/postgresql/bin/createdb test
--访问test数据库
/opt/postgresql/bin/psql test
--修改管理员postgres的密码为postgres
ALTER USER postgres WITH PASSWORD 'postgres';
修改配置
远程连接授权
--修改pg_hba.conf文件
vi /opt/postgresql/pg_data/pg_hba.conf
修改IPV4的连接
# IPv4 local connections:
host all all 0.0.0.0/0 trust
--修改postgresql.conf文件
vi /opt/postgresql/pg_data/postgresql.conf
修改listen_address为任意ip
listen_addresses = '*'
--完成修改后重启数据库
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log restart
psql常用命令
命令行中使用的psql命令
参数 | 参数含义 |
---|---|
-h | 数据库服务器的IP |
-p | 数据库服务器的端口号 |
-U | 连接数据库服务器时使用数据库用户 |
-w | 连接服务器时不需要输入用户密码(默认不输入用户密码) |
-W | 连接服务器时需要输入用户密码 |
-d | 指定要连接的数据库(默认连接postgres数据库) |
-c | 执行单一的SQL命令 |
-f | 执行sql脚本文件 |
-V | 输出版本信息 |
--连接本地数据库,端口号为5432,使用postgres用户,连接test数据库
./psql -h 127.0.0.1 -p 5432 -U postgres -d test
--执行sql脚本文件/root/pg.sql
./psql -h 127.0.0.1 -p 5432 -U postgres -d test -f /root/pg.sql
--执行SQL语句
./psql -h 127.0.0.1 -p 5432 -U postgres -d test -c "sql_one;sql_two;"
--查看数据库版本
./psql -V
pg命令行中使用的psql命令
命令 | 含义 |
---|---|
\h | 查看sql语法 |
\l | 列出所有数据库 |
\dn | 列出所有schema(模式) |
\db | 显示所有表空间(相当于一个目录,表放在表空间中) |
\d | 查看当前schema中所有的表、视图、序列 |
\dt | 只显示匹配的表 |
\di | 只显示匹配的索引 |
\ds | 只显示匹配的序列 |
\dv | 只显示匹配的视图 |
\df | 只显示匹配的函数 |
\sf | 查看指定的函数定义 |
\du | 列出数据库中所有用户 |
\dp | 显示表的分配情况 |
\c | 切换数据库 |
\q | 退出pg命令行 |
--查看所有数据库
postgres=# \l
--显示pg内部的函数acos
postgres=# \df acos
--查询acos函数的函数定义
postgres=# \sf acos
--退出pg命令行
postgres=# \q
使用navicat远程连接postgresql
新建postgresql数据库连接,配置服务器中数据库的配置参数
参考网址
http://www.postgres.cn/docs/9.6/index.html
https://www.cnblogs.com/wsum/p/15522211.html
https://blog.csdn.net/Hehuyi_In/article/details/101305143
标签:opt,PostgreSQL,postgres,--,数据库,pg,Linux,postgresql,安装 From: https://www.cnblogs.com/shenStudy/p/17498888.html