操作流程
下载安装
sudoapt-get-yupdatesudoapt-get-yupgradesudoapt-getinstall-ylibicu-devcd/usr/local/softwarewgethttps://ftp.postgresql.org/pub/source/v17.9/postgresql-17.9.tar.gztar-zxvfpostgresql-*.tar.gzrm-rfpostgresql-*.tar.gzmvpostgresql* postgresqlmkdir-p/usr/local/software/postgresql/data/{pgsql,pgdata,pglog,tmp}chmod0777-R/usr/local/software/postgresql/data/{pgsql,pglog,tmp}chmod700-R/usr/local/software/postgresql/data/pgdata# 创建postgres 用户groupaddpostgresuseradd-mpostgres-gpostgreschownpostgres:postgres-R/usr/local/software/postgresql /usr/local/software/postgresql/data/{pgsql,pgdata,pglog,tmp}cd/usr/local/software/postgresql ./configure--prefix=/usr/local/software/postgresql/data/pgsqlmake-j$(nproc)&&makeinstall-j$(nproc)useradd-gpostgres-s/usr/local/software/postgresql postgresuseradd-gpostgres-s/usr/local/software/postgresql/data/pgsql postgresuseradd-gpostgres-s/usr/local/software/postgresql/data/pgdata postgresuseradd-gpostgres-s/usr/local/software/postgresql/data/pglog postgresuseradd-gpostgres-s/usr/local/software/postgresql/data/tmp postgres
配置
# 初始化数据库sudo-upostgres /usr/local/software/postgresql/data/pgsql/bin/initdb-D/usr/local/software/postgresql/data/pgdatacat>>/usr/local/software/postgresql/data/pgdata/postgresql.conf<<'EOF' ### 开启远程访问 listen_addresses = '*' port = 5432 unix_socket_directories = '/usr/local/software/postgresql/data/tmp' EOFcat>>/usr/local/software/postgresql/data/pgdata/pg_hba.conf<<'EOF' ### 信任远程连接 host all all 10.3.11.173/24 md5 EOF# 启动数据库sudo-upostgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl start-D/usr/local/software/postgresql/data/pgdata-l/usr/local/software/postgresql/data/pglog/logfile# 重启数据库# sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl restart -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile# 停止数据库:#sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl stop -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile# 强制重启:# sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl restart -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile -m f# 强制停止# sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl stop -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile -m f# 加载配置# sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl reload -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile# 显示服务状态# sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl status -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile
cat>>/etc/profile<<"EOF" #set postgresql environment PGHOME=/usr/local/software/postgresql/data/pgsql PGINCLUDE=/usr/local/software/postgresql/data/pgsql/include PGLIB=/usr/local/software/postgresql/data/pgsql/lib PGREDIST=/usr/local/software/postgresql/data/pgsql/bin PGDATA=/usr/local/software/postgresql/data/pgdata PATH=$PGHOME:$PGINCLUDE:$PGLIB:$PGREDIST:$PGDATA:$PATH: export PGHOME PGINCLUDE PGLIB PGREDIST PGDATA PATH EOFsource/etc/profile# 设置开机自启动cat>/etc/systemd/system/postgresql.service<<'EOF' [Unit] Description=PostgreSQL database server After=network.target [Service] Type=forking User=postgres Group=postgres ExecStart=sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl start -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile ExecStop=sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl stop -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile -m f ExecReload=sudo -u postgres /usr/local/software/postgresql/data/pgsql/bin/pg_ctl restart -D /usr/local/software/postgresql/data/pgdata -l /usr/local/software/postgresql/data/pglog/logfile -m f [Install] WantedBy=multi-user.target EOFchmod0777-R/etc/systemd/system/postgresql.service /usr/local/software/postgresql/data/{pgsql,pglog,tmp}chmod700-R/usr/local/software/postgresql/data/pgdatachownpostgres:postgres-R/usr/local/software/postgresql/data/{pgsql,pgdata,pglog,tmp}systemctl daemon-reload systemctlenable--nowpostgresql systemctlenablepostgresql.service systemctl stop postgresql.service systemctl start postgresql.service systemctl status postgresql.service
sudoufw allow5432sudoufw reloadsudonetstat-tunlp|grep22
测试
# 连接数据库psql-h127.0.0.1-Upostgres-p5432-dpostgres-W
-- 修改密码ALTERROLE postgresWITHPASSWORD'postgres';-- 创建专用用户CREATEUSERanythingllmWITHPASSWORD'QwE@123@*~*';ALTERUSER"anythingllm"withsuperuser;GRANTALLPRIVILEGESONSCHEMAPUBLICTO"anythingllm";GRANTALLPRIVILEGESONALLTABLESINSCHEMAPUBLICTO"anythingllm";-- 赋予用户操作数据库的限CREATEDATABASEvector_db;ALTERDATABASE"vector_db"OWNERTO"anythingllm";GRANTALLPRIVILEGESONDATABASE"vector_db"TO"anythingllm";