postgresql安装
-
解压安装包
# tar zxvf postgresql-12.4.tar.gz # cd postgresql-12.4
-
编译并安装
# ./configure --prefix=/usr/local/postgresql # make # make install
-
新建并切换用户
# addusr postgre # passwd postgre
-
修改目录权限
# chown -R postgre:postgre /usr/local/postgresql
-
切换为postgre用户并修改环境变量
# su - postgre # vim .bash_profile 添加内容: PGHOME=/usr/local/postgresql export PGHOME PGDATA=/home/postgre/data/postgresql export PGDATA PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin # source .bash_profile
-
初始化数据库
# initdb # vim pg_hba.conf 修改内容 IPv4 local connections: host all all 0.0.0.0/0 md5 # vim postgresql.conf 修改内容: listen_addresses = '*'
-
创建日志目录
# mkdir -p /home/postgre/logs/postgresql # cd /home/postgre/logs/postgresql # touch pg_server.log
-
启动数据库
# pg_ctl start -l /home/postgre/logs/postgresql/pg_server.log
-
查看是否启动
# ps -ef |grep postgre
-
进入数据库(注意,默认的数据库名是postgres,如果不输入则默认为当前用户名,可能会提示数据库不存在)并修改密码
# psql postgres # \password 查看数据库 # \l
-
添加系统服务,vim /etc/systemd/system/postgresql.service
[Unit] Description=PostgreSQL database server After=network.target [Service] Type=forking User=postgre Group=postgre # Port number for server to listen on Environment=PGPORT=5432 # Location of database directory Environment=PGDATA=/home/postgre/data/postgresql # Where to send early-startup messages from the server (before the logging # options of postgresql.conf take effect) # This is normally controlled by the global default set by systemd # StandardOutput=syslog # Disable OOM kill on the postmaster OOMScoreAdjust=-1000 #ExecStartPre=/usr/local/pgsql9.4/bin/postgresql-check-db-dir ${PGDATA} ExecStart=/usr/local/postgresql/bin/pg_ctl start -l /home/postgre/logs/postgresql/pg_server.log -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 ExecStop=/usr/local/postgresql/bin/pg_ctl stop -D ${PGDATA} -s -m fast # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 [Install] WantedBy=multi-user.target
-
重新加载服务、启动、设置开机启动
# systemctl daemon-reload # systemctl start postgresql.service # systemctl enable postgresql.service