首页 > 数据库 >PostgreSQL安装

PostgreSQL安装

时间:2024-01-23 09:15:09浏览次数:37  
标签:PostgreSQL postgres local 数据库 kong usr postgresql 安装

一、下载安装

1.1 解压

https://www.postgresql.org/ftp/source/v10.3/

tar ‐zxvf postgresql‐10.3.tar.gz

1.2 安装依赖

# centos
yum ‐y install zlib‐devel readline‐devel

# ubuntu
sudo apt-cache search readline
sudo apt install lib64readline8 lib64readline-dev 
sudo apt install zlib1g-dev
sudo apt install gcc
sudo apt install  libreadline6-dev
sudo apt install make

1.3、编译安装

./configure ‐‐prefix=/usr/local/postgresql
make && make install

1.4 添加用户和用户组

useradd postgres
groupadd postgres

1.5 生成数据库文件目录

mkdir /usr/local/postgresql/data

1.6 修改用户文件访问权限

chown postgres /usr/local/postgresql/data
chgrp postgres /usr/local/postgresql/data

1.7 初始化数据库

# 用户切换
su ‐ postgres
/usr/local/postgresql/bin/initdb ‐D /usr/local/postgresql/data

二、修改配置

2.1 配置数据库允许访问的IP

vi /usr/local/postgresql/data/pg_hba.conf

配置IP都可以连接数据库(如需要所有IP都可以访问则对应为0.0.0.0/0),此处认证类型选择的是
MD5,可参考官方文档认证类型,选择适合的认证方式

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
#host    all             10.130.212.158/24                   md5
# 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 #添加这一行

2.2 配置监听地址,链接端口等

vi /usr/local/postgresql/data/postgresql.conf

listen_addresses配置监听地址范围,改为*则为所有
port 默认为5432

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
#reserved_connections = 0               # (change requires restart)
#superuser_reserved_connections = 3     # (change requires restart)
#unix_socket_directories = '/tmp'       # comma-separated list of directories

2.3 启动数据库服务

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

三、创建用户名密码数据库

3.1 修改postgres密码

su ‐ postgres
/usr/local/postgresql/bin/psql
# \password postgres
Enter new password

3.2 创建数据库用户kong

CREATE USER kong WITH PASSWORD 'kong';

3.3 创建用户数据库,这里为kong,并指定所有者为kong

CREATE DATABASE kong OWNER kong;

3.4 将kong数据库的所有权限都赋予kong用户,否则kong只能登录控制台,没有任何数据库操作权

GRANT ALL PRIVILEGES ON DATABASE kong to kong;

3.5 退出控制台并验证

[root@k8s‐node01 ~]# psql ‐U kong ‐d kong ‐h 10.131.100.95 ‐p 5432
Password for user kong:
psql (10.3)
Type "help" for help.
kong=>

四、常见错误

4.1 psql: symbol lookup error: /usr/local/postgresql/bin/psql: undefined symbol: PQhostaddr

解决方法添加如下环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/postgresql/lib

4.2 Navicat连接postgresql时出现“ERROR: column datlastsysoid“ does not exist LINE 1: SELECT DISTINCT datlas“报错

原因:Postgres 15 从表中删除了 datlastsysoid 字段pg_database,因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用字段时都会引发此错误

解决(navicat15版本为例):
方法一:安装16.1及以上版本
方法二:关闭navicat,打开navicat安装目录,找到libcc.dll文件(先备份一份防止后面出问题方便还原),使用十六进制编辑器打开libcc.dll文件,推荐使用在线编辑器https://hexed.it/,打开编辑器后导入libcc.dll文件,ctrl+f 搜索"SELECT DISTINCT datlastsysoid",找到后将"datlastsysoid" 替换为"dattablespace",将文件另存为到初始位置,打开navicat,测试连接打开数据库,可以正常使用。

标签:PostgreSQL,postgres,local,数据库,kong,usr,postgresql,安装
From: https://www.cnblogs.com/ejjw/p/17981575

相关文章

  • 【数据库】对大数据量数据集,PostgreSQL分组统计数量,限定每组最多数量
    一、背景介绍在处理大数据量数据集时,我们经常需要进行分组统计。例如,我们需要统计每个城市的人口数量、每个年龄段的人数等。在PostgreSQL中,我们可以使用row_number()函数结合over(partitionby)子句来实现这个功能。同时,为了限定每组最多数量,我们可以使用row_num<=100......
  • MySQL5.7麒麟系统ARM架构下离线安装,搭建主从集群
    一、检查本机操作系统#一定要注意查看本机的操作系统,是amd(x86)还是arm(aarch)架构$uname-aLinuxServer-58aa6d9e-9412-4ab6-b496-2adc0af4e9c84.19.90-17.5.ky10.aarch64#1SMPFriAug713:35:33CST2020aarch64aarch64aarch64GNU/Linux$cat/etc/os-releaseN......
  • 使用Docker安装各种靶场(Linux系统)
    搭建pikachu搜索关于pikachu的镜像dockersearchpikachu选择start最多的镜像,这里选择area39/pikachu下载pikachu镜像dockerpullarea39/pikachu遇到拉取慢的情况下可以使用docker的国内镜像加速,创建或修改/etc/docker/daemon.json,内容如下:如果没有,创建文档sudotouc......
  • ClickHouse安装
    一、Docker安装1. docker-compose配置文件version:"3"networks:rhxy-network:external:trueservices:clickhouse:image:clickhouse/clickhouse-server:23.12.2.59-alpinecontainer_name:clickhousehostname:clic......
  • 【数据库】对大数据量数据集,PostgreSQL分组统计数量,限定每组最多数量
    一、背景介绍在处理大数据量数据集时,我们经常需要进行分组统计。例如,我们需要统计每个城市的人口数量、每个年龄段的人数等。在PostgreSQL中,我们可以使用row_number()函数结合over(partitionby)子句来实现这个功能。同时,为了限定每组最多数量,我们可以使用row_num<=100......
  • 【数据库】对大数据量数据集,PostgreSQL分组统计数量,限定每组最多数量
    一、背景介绍在处理大数据量数据集时,我们经常需要进行分组统计。例如,我们需要统计每个城市的人口数量、每个年龄段的人数等。在PostgreSQL中,我们可以使用row_number()函数结合over(partitionby)子句来实现这个功能。同时,为了限定每组最多数量,我们可以使用row_num<=100......
  • 如何备份已经安装并设置AutoHotkey脚本编程环境的Windows电脑系统分区 2024.01.22
     如何备份已经安装并设置AutoHotkey脚本编程环境的Windows电脑系统分区2024.01.22第1步:邮购并制作银灿IS903可启动U盘,量产Emulation-CD-ROM所用ISO镜像选用从www.firpe.cn下载的PE光盘镜像。第2步:正确安装电脑软件并调整电脑各项设置备份硬盘分区表和启动扇区信息转移个......
  • 安装vue脚手架以后,vue版本不能查出版本号,找不到指令
    重装电脑后,安装完node,用npm安装vue脚手架,查不到版本信息号原因竟然是我之前重装了node的版本然后修改了一些环境变量,试了很多方法,vue-cil还是不生效 解决方法1.执行如下命令代理置为空npmconfigsetproxynull2.运行如下命令清理缓存npmcacheclean--force3.配置npm源......
  • R语言包安装失败常见问题解决
    更改或指定镜像源出现这个问题很有可能是你现在用的镜像中未纳入这个包,一是可以多换个源试试。如:install.packages('package-name',repos='http://cran.us.r-project.org')或,在Rstudio中可以:或,命令行可直接指定Rstudio:install.packages('package_name',dependencies=TRUE......
  • QGIS的安装和开发
    osgeo4w-setup离线安装包资源不大,便于安装。 界面安装后,如控件开发报错:进入C:\ProgramFiles\QGIS3.28.10\bin下执行bat后,下载相应安装包,注意网络 建立的控件等工程文件首先可对应与系统文件夹里: 前者是目标新建目录,后者是原有目录。工程文件: Plugins->需要安装bu......