Postgresql安装及使用

PostgreSQL的安装、配置与使用指南 本文介绍了PostgreSQL的安装、配置和使用。首先,介绍了如何下载和安装PostgreSQL,然后通过简单的验证方法检查其是否安装成功。接下来,详细介绍了如何进行远程连接的配置,包括修改postgresql.conf和pg_hba.conf文件,并重启服务。此外,还介绍了如何配置数据库的日志,以确保数据的可追溯性和问题排查。最后,本文介绍了两个流行的图形化界面工具pgAdmin和Navicat,以方便用户管理和操作PostgreSQL数据库。 阅读详情

一、链接

官网 https://www.postgresql.org/
下载 https://www.postgresql.org/download/
中文社区 http://www.postgres.cn/index.php/v2/home
中文网 https://postgres.fun/
易百教程 https://www.yiibai.com/postgresql
原文链接:https://blog.youkuaiyun.com/llwy1428/article/details/95444151

二、源码安装postgresql-11.4

2.1 安装

默认端口

5432

2.1.1 安装依赖

yum install -y vim lrzsz tree wget gcc gcc-c++ make readline-devel readline zlib-devel zlib ncurses-devel
#ncurses-devel是readline-devel的依赖包

2.1.2 下载解压

mkdir /opt/postgresql
cd /opt/postgresql
wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz
tar -zxvf postgresql-11.4.tar.gz

[root@localhost postgresql-11.4]# ll
总用量 748
-rw-r--r--.  1 1107 1107    522 6月  18 2019 aclocal.m4
drwxrwxrwx.  2 1107 1107   4096 6月  18 2019 config
-rwxr-xr-x.  1 1107 1107 561752 6月  18 2019 configure
-rw-r--r--.  1 1107 1107  84451 6月  18 2019 configure.in
drwxrwxrwx. 56 1107 1107   4096 6月  18 2019 contrib
-rw-r--r--.  1 1107 1107   1192 6月  18 2019 COPYRIGHT
drwxrwxrwx.  3 1107 1107    107 6月  18 2019 doc
-rw-r--r--.  1 1107 1107   3848 6月  18 2019 GNUmakefile.in
-rw-r--r--.  1 1107 1107    284 6月  18 2019 HISTORY
-rw-r--r--.  1 1107 1107  74257 6月  18 2019 INSTALL
-rw-r--r--.  1 1107 1107   1682 6月  18 2019 Makefile
-rw-r--r--.  1 1107 1107   1212 6月  18 2019 README
drwxrwxrwx. 16 1107 1107   4096 6月  18 2019 src

2.1.3 编译安装

./configure --prefix=/usr/local/postgresql
make && make install
cd /usr/local/postgresql/
[root@localhost postgresql]# ll
总用量 16
drwxr-xr-x. 2 root root 4096 11月 16 20:53 bin
drwxr-xr-x. 6 root root 4096 11月 16 20:53 include
drwxr-xr-x. 4 root root 4096 11月 16 20:53 lib
drwxr-xr-x. 6 root root 4096 11月 16 20:53 share
创建data和log目录
mkdir /usr/local/postgresql/log
mkdir /usr/local/postgresql/data

2.1.4 配置环境变量

cat << eof >> /etc/profile
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data
export PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$PGHOME/bin
eof

source /etc/profile

2.1.5 添加用户并赋权

useradd postgres
chown -R postgres:root /usr/local/postgresql/

2.1.6 初始化数据库

注意:不能在 root 用户下初始数据库,否则会报错

su postgres
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/

输出以下信息表示成功
[postgres@localhost postgresql]$ /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /usr/local/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Asia/Shanghai
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data/ -l logfile start

2.1.7 编辑配置开启远程连接

cd /usr/local/postgresql/data
cp postgresql.conf postgresql.conf-bak
cp pg_hba.conf pg_hba.conf-bak
vim postgresql.conf
listen_addresses = '*'
port = 5432

vim pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust
加入以下一行
host    all             all             0.0.0.0/0               md5

说明:
TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接

DATABASE:指定数据库

USER:指定数据库用户

ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一位是0~255之间的任何一个

METHOD:认证方式,常用的有ident,md5,password,trust,reject。

                      md5是常用的密码认证方式。

                      password是以明文密码传送给数据库,建议不要在生产环境中使用。

                      trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。

                      reject是拒绝认证。

2.1.8 启动登录并设置密码

启动
pg_ctl start -l /usr/local/postgresql/log/pg_server.log
登录并设置数据库postgres用户密码
[postgres@localhost log]$ psql 
psql (11.4)
Type "help" for help.
postgres=# \password

三、使用

3.1 修改postgres密码

psql -U postgres 登录数据库,执行后提示符变为 'postgres=#'  -U 指定用户
ALTER USER postgres WITH PASSWORD 'postgres';  设置postgres用户密码为postgres

3.2 命令

3.2.1 停止

#-D /usr/local/postgresql/data/ 可以不加因为环境变量中已经指定了
pg_ctl stop -l /usr/local/postgresql/log/pg_server.log -D /usr/local/postgresql/data/

3.2.2 启动

#-D /usr/local/postgresql/data/ 可以不加因为环境变量中已经指定了
pg_ctl start -l /usr/local/postgresql/log/pg_server.log -D /usr/local/postgresql/data/

3.2.3 重新加载配置文件

su - postgres
pg_ctl -D /usr/local/postgresql/data/ reload

3.3 命令远程连接

# -h指定主机IP -U指定用户 -d 指定数据  postgres是默认数据库
psql -h 192.168.8.10 -U postgres -d postgres

3.4 创建数据库

psql -h 192.168.8.10 -U postgres -d postgres
#创建
postgres=# create database hxl;
CREATE DATABASE
#进入hxl数据库
postgres=# \c hxl

3.5 基本命令

3.5.1 查看系统中现存的数据库

template1=# \l 

3.5.2 退出客户端程序psql

template1=# \q 

3.5.3 切换到某个数据库

template1=# \c 从一个数据库中转到另一个数据库中,如template1=# \c sales 从template1转到sales

3.5.4 查看当前数据库的表

template1=# \dt

3.5.5 查看表结构

template1=# \d 表名
template1=# \di 查看索引

3.5.5 查看索引

template1=# \di

3.6 创建表

3.6.1 表定义字段并插入信息

project=# create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
project=# create table person(id integer, name text);
project=# insert into person values (1, 'hxl');
project=# select * from person;

3.7 查询

3.7.1 查询用户表

select * from pg_shadow;

3.7.2 查询当前数据库

select current_database();

3.7.3 查询当前登录用户信息

select * from pg_stat_activity where state = 'active';

3.8 删除数据库

 drop database [数据库名];

3.9 删除表

drop table [表名]; 

3.10 重命名表

alter table [表名A] rename to [表名B];

3.11 表内基本操作

3.11.1 在已有的表里添加字段

alter table [表名] add column [字段名] [类型];

3.11.2 删除表中的字段

alter table [表名] drop column [字段名];

3.11.3 重命名一个字段

alter table [表名] rename column [字段名A] to [字段名B];

3.11.4 给一个字段设置缺省值

alter table [表名] alter column [字段名] set default [新的默认值];

3.11.5 去除缺省值

alter table [表名] alter column [字段名] drop default;

3.11.6 在表中插入数据

insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

3.11.7 修改表中的某行某列的数据

update [表名] set [目标字段名]=[目标值] where [该行特征];

3.11.8 删除表中某行数据

delete from [表名] where [该行特征];

删空整个表

delete from [表名];

四、解释

4.1 数据目录结构

base	每个 database 会在 base 目录下有一个子目录3
global	Postgres 自己的 meta 数据库存放的地方(全局 DB)
PG_VERSION  #pg版本,如10
base/  #每个 database 会在 base 目录下有一个子目录,存储数据库文件
global/   #存放的文件用于存储全局的系统表信息和全局控制信息
pg_commit_ts/  #包含已提交事务的时间
pg_dynshmem/  #包含动态共享内存子系统使用的文件
pg_hba.conf
pg_ident.conf
pg_logical/  #包含逻辑解码的状态数据
pg_multixact/  #包含多事务状态数据(等待锁定的并发事务
pg_notify/   #包含LISTEN/NOTIFY状态数据
pg_replslot/  #包含复制槽数据
pg_serial/   #包含了已经提交的序列化事务的有关信息
pg_snapshots/  #包含导出的快照
pg_stat/  #包含统计子系统的永久文件
pg_stat_tmp/  #包含统计子系统的临时文件
pg_subtrans/  #包含子事务状态数据
pg_tblspc/   #包含表空间的符号链接
pg_twophase/   #包含预备事务的状态文件
pg_wal/  #包含wal日志
pg_xact/
postgresql.auto.conf   #一个用于存储由ALTER SYSTEM 设置的配置参数的文件
postgresql.conf
postmaster.opts   #一个记录服务器最后一次启动时使用的命令行参数的文件
server.log  #pg操作日志,如果有报错也会记录在这里

4.2 配置文件

pg_hba.conf:配置对数据库的访问权限;
postgresql.conf:配置PostgreSQL数据库服务器的相应的参数
PostgreSQL 超详细安装与使用教程:从入门到实战 本文将详细介绍PostgreSQL数据库的安装配置与基础使用。首先从Windows系统安装入手,分步骤讲解17.5版本的安装流程、环境变量配置及服务启动验证。接着重点介绍了pgAdmin4图形化管理工具的安装与使用,包括界面语言设置、数据库连接、创建与管理数据库等操作,同时对比了可视化操作与SQL命令两种方式。最后梳理了PgSQL基础语法,涵盖表的创建、增删改查操作、约束管理等内容,为初学者提供了完整的PostgreSQL入门指南。文章兼顾理论知识与实际操作,既适合数据库新手学习,也可作为开发人员的快速参考 阅读详情

相关推荐

PostgreSQL 安装、常用命令及优化

,选择合适的版本。创建一个启动脚本,方便后续启动和管理 PostgreSQL 服务。根据实际业务需求和系统资源情况,还可以进一步调整优化参数。替换为你实际的 CentOS/RHEL 版本(如。首先,访问 PostgreSQL 官方下载页面(编译和安装过程可能需要一些时间,取决于系统性能。在编译之前,需要配置一些编译选项。保存并退出文件,然后重新加载。替换为实际的磁盘设备名。

weixin_44821805的博客 2814

PostgreSQL 安装和使用

PostgreSQL 安装和使用

ChenZhC的博客 2824

PostgreSql、Hbase的安装

在CentOS 8 中安装 PostgreSQL 和 HBase,以下是详细步骤,包括使用sudo。

weixin_54371074的博客 1167

PostgreSQL 安装教程

PostgreSQL安装

and0245的博客 2万+

Linux 上安装 PostgreSQL

在 Linux 上安装 PostgreSQL 是一个相对简单的任务,特别是如果您熟悉您的 Linux 发行版的包管理器。一旦安装完成,您就可以开始使用这个强大的数据库管理系统来满足您的数据存储和管理需求。记得始终保持您的 PostgreSQL 服务器更新,以确保安全和性能。

lly202406的博客 1615

windows下postgresql的安装使用

windows下安装postgresql及测试使用

lxcw_sir的博客 3555

PostgreSQL安装

安装依赖比较麻烦,安装依赖建议是配置操作系统yum源进行安装,这里不做介绍。RPM方式安装后安装目录默认为`/usr/pgsql-16`,数据目录可以在初始化时指定。通过YUM方式安装后默认目录如下,可以修改配置修改目录为安装准备章节规划的目录,后续章节分享。(2)创建数据库安装用户,在Linux中需要使用非root用户进行安装,创建用户和用户组。(3)规划目录并创建目录:有四个目录,分别为安装目录、数据目录、归档目录和备份目录。四种方式安装,分别为二进制安装、yum安装、rpm安装、源码安装。

weixin_39900692的博客 6269

Postgresql之Madlib安装

Postgresql源码安装 由于MADlib支持多个平台,如postgresql,Greenplum和HAWQ,本次主要在postgresql中选择安装。 在Postgresql官网选择需要的源码文件,版本建议在9.5及以上 可通过linux的wget命令在服务器直接下载Postgresql,之后可通过tar -zxvf ./postgresql-(版本).tar.gz命令解压,然后...

小海绵的博客 3593

PostgreSQL+PostGIS安装教程

PostgreSQL 10 安装详细步骤与PostGIS 2.5.0 安装详细步骤

Oruizn的博客 3万+

postgresql安装

postgresql安装 window一、安装二、初始化配置三、启动 一、安装 1.下载postgresql安装包。 (1)下载地址:官网下载地址 (2)开始安装 ① 双击下载的安装包 ②选择程序安装目录 ③选择数据存放目录 ④输入用户的密码(要记住) ⑤设置服务监听端口,默认为5432 ⑥选择运行时语言环境 (注:选择数据库存储区域的运行时语言环境(字符编码格式)。 在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL

chenbogger的博客 8717

PostgreSQL 向量扩展插件pgvector安装和使用

重新修改.bash_profile,配置PG_CONFIG和LD_LIBRARY_PATH,指定安装的postgresql 16.3版本。make编译调用的postgresql不是之前安装的 16.3,而是apt-get 安装的10.23版本。利用pgvector 前提是事先安装好postgresql,安装postgresql例可参考下文。make编译pgvector时无法识别安装的postgresql。安装的版本不是最新的版本而是10.23。pgvector的安装成功。

web15085181368的博客 3068

PostgreSQL YUM安装

将红框设置为 10.10.100.0/24,意思是10.10.100网段的IP 连接此服务器上的PostgreSQL. 如果想允许所有IP都可以连接此服务器,则可以配置成0.0.0.0/0,但这样是不安全的,可以把trust改为md5,表示需要密码访问,算是提供一个最低级的安全防护。找到"#port"和"#listener_address"这两个参数,这两个参数是相邻的,将两行行首的"#"删除。注意:这里/var/lib/pgsql/15/data的15要根据自己安装的版本来确定。

Eucalyptus's blog 1427

Windows 上安装 PostgreSQL

在 Windows 上安装 PostgreSQL 是一个相对简单的过程,但确保正确配置和优化对于保证数据库的性能和安全至关重要。遵循本文的步骤,您可以顺利地在 Windows 系统上安装和配置 PostgreSQL。

lly202406的博客 2372

【PostgreSQL】Mac使用Homebrew安装PostgreSQL

在macOS上安装PostgreSQL可以通过几种方式完成,其中一种是使用Homebrew包管理器。以上步骤将安装PostgreSQL,启动服务,创建用户和数据库,并允许您登录到数据库中进行操作。

九师兄 219

在centOS7上安装postgresql

Postgresql安装与配置 具体操作步骤 第一步,下载安装Postgresql数据库: 按照以下步骤在centOS系统上安装PostgreSQL。选择PostgreSQL的版本号以及对应系统,下载地址 PostgreSQL: Downloads 选择 centOS系统 使用yum安装postgresql14,首先选择安装的版本,然后按照下列步骤进行操作: 一些问题解决 在使用yum安装软件时可能会遇到提示“没有可用软件包”。 出现该问题的原因是该软件包在.

weixin_46732884的博客 5574

【PostgreSQL】入门篇——在不同操作系统上安装 PostgreSQL

以上是如何在 Windows、macOS 和 Linux(Ubuntu)上安装 PostgreSQL 的详细步骤,包括可能出现的问题及其解决办法。安装完成后,您可以开始使用 PostgreSQL 进行数据库管理和开发。为了确保数据库的安全性和性能,建议您在生产环境中进行进一步的配置和优化。

thinking_chou的专栏 2752

Postgresql编译安装linux、postgresql参数笔记

摘要:本文详细介绍了在CentOS7系统上安装配置PostgreSQL15数据库的完整流程并提供了详细的命令行操作步骤,适合DBA参考

qq_42299196的博客 1031

PostgreSQL 安装与操作指南

- PostgreSQL(支持指定编码与表空间)WITH-- 表空间(默认 pg_default)-- MySQL 对比维度PostgreSQLMySQL默认端口54323306自增字段事务隔离级别支持 Serializable(默认 Read Committed)支持 Repeatable Read(默认 Repeatable Read)数据类型支持 JSONB、数组、地理信息仅支持基础类型,JSON 性能弱查询能力支持 CTE、并行查询、窗口函数。

m0_46589218的博客 1542
上一篇: node安装
下一篇: gitpython安装以及操作
TimeRovers
博客等级 码龄8年 11粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值