ubuntu 安装

sudo apt-get update
sudo apt-get install libicu-dev libreadline-dev libxml2-dev libxslt-dev
 

PostgreSQL: File Browser

https://www.postgresql.org/ftp/source/v16.4/     下载地址

解压后从命名

mv /usr/local/postgresql-16.4 /usr/local/postgresql
 

useradd  postgresql
mkdir -p /usr/local/postgresql/data
chown -R postgresql:postgresql /usr/local/postgresql
  

编译

./configure --prefix=/usr/local/postgresql --with-python --with-libxml --with-libxslt

 make -j32 && make install -j32

三、 打开profile文件,添加环境变量
vim /etc/profile 

#拉到profile文件最下端,将下属内容追加到profile文件最后
export PATH=/usr/local/postgresql/bin:$PATH
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib/
export PATH=$PGHOME/bin:$PATH:$HOME/bin
 

 重新加载配置文件  source /etc/profile 

进入data目录  cd  /usr/local/postgresql/data/

在data 目录   vim postgresql.conf 配置文件

 vim postgresql.conf
 

#修改允许访问的ip地址
listen_addresses = '*'
#端口
port = 5432
#内存大小。可以使用默认值
max_wal_size = 1GB
min_wal_size = 80MB

vi pg_hba.conf  找到最下面这一行 ,这样局域网的人才能访问。红色为新添加内容。

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

host    all             all             0.0.0.0/0                  trust

添加启动文件:cp /usr/local/postgresql/contrib/start-scripts/linux  /etc/init.d/postgresql

修改/etc/init.d/postgresql文件的三个变量 路径和用户 postgresql

数据初始化

 su postgresql
 
./bin/initdb   或 /usr/local/postgresql/bin/initdb

添加用户

#创建一个超级管理员用户
 CREATE USER superman SUPERUSER;
 
#创建一个有密码的用户
 CREATE USER user01_pg WITH PASSWORD 'pgsql_pg';
 
#创建数据库
 CREATE DATABASE  test001 ;
 
 赋予超级权限
ALTER ROLE user_pg CREATEROLE CREATEDB;
 
ALTER ROLE user_pg CREATEROLE SUPERUSER;

添加开机启动

sudo tee /etc/systemd/system/postgresql.service << 'EOF'
[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGDATA=/usr/local/postgresql/data
ExecStart=/usr/local/postgresql/bin/pg_ctl start -D ${PGDATA} -s -l ${PGDATA}/logfile -w -t 300
ExecStop=/usr/local/postgresql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/postgresql/bin/pg_ctl reload -D ${PGDATA} -s

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable postgresql
sudo systemctl start postgresql

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐