用户登录
用户注册

分享至

linux postgresql启动

  • 作者: 澹台君落
  • 来源: 51数据库
  • 2020-10-02
不考虑系统版本、安装的系统是不是最小化安装、pgsql版本等问题,那么正常应该是下面的安装方法就可以成功的,如果想可以远程连接,则要在防火墙里开放端口5432。

三、安装PostgreSQL
# cd /usr/local/src/
# tar zxf postgresql-9.2.4.tar.gz
# cd postgresql-9.2.4
# ./configure --prefix=/usr/local/pgsql
# make
# make install

//和mysql一样建立组和用户
# groupadd postgres
# useradd -g postgres postgres

//给pgsql创建一个数据库的文件夹
# mkdir /usr/local/pgsql/data
//设置data文件夹属于哪个用户
# chown postgres:postgres /usr/local/pgsql/data
//切换到postgres用户
# su - postgres
//生成数据库
$ /usr/local/pgsql/bin/initdb --encoding=UTF-8 --no-locale -D /usr/local/pgsql/data
$ exit
//复制启动文件
# cp /usr/local/src/postgresql-9.2.4/contrib/start-scripts/linux /etc/init.d/postgresql
//设置开机启动
# chmod 755 /etc/init.d/postgresql
# chkconfig --add postgresql
# chkconfig postgresql on
# /etc/init.d/postgresql start

//修改配置文件
# vim /usr/local/pgsql/data/postgresql.conf
listen_addresses = '*' //是否允许其他计算机访问
port = 5432 //通过哪个端口访问

//这个网上查说是身份验证,大概就是要不要加密里之类的吧,没具体查过。
这里要注意,你的ip是ipv4还是ipv6,写到相应的条目下面,不要写错了。
另:如果复制粘贴的话有时候会出错,原因未知。建议自己手写。
# vim /usr/local/pgsql/data/pg_hba.conf
host  all   all   0.0.0.0  0.0.0.0   trust

# /etc/init.d/postgresql restart

//看看能否正常进入postgreSQL
# /usr/local/pgsql/bin/psql -U postgres -W
# \q



  postgresql 9.4 在linux环境的安装步骤详解

这里实验的环境系统:centos 6.4 64位

软件:postgresql 9.4.1

软件下载
cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz

安装依赖包
yum install -y perl-extutils-embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

安装postgresql
tar xf postgresql-9.4.1.tar.gz
cd postgresql-9.4.1
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
gamke
gamke install

安装pg插件
cd /usr/local/src/postgresql-9.4.1/contrib
gmake
gmake install
加载动态库
echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig
初始化数据库
创建用户postgres
useradd postgres
echo "postgres"|passwd --stdin postgres

创建pg数据目录
mkdir -p /data/pg/data
chown -r postgres:postgres /data/pg
/usr/local/pgsql/bin/initdb --no-locale -u postgres -e utf8 -d /data/pg/data -w
(在初始化的时候,看提示添加超级用户的密码)

备注
initdb [选项]... [datadir]
-a, --auth=method 本地连接的默认认证方法
-d, --pgdata=datadir 当前数据库簇的位置
-e, --encoding=encoding 为新数据库设置默认编码
--locale=locale 为新数据库设置默认语言环境
--lc-collate, --lc-ctype, --lc-messages=locale
--lc-monetary, --lc-numeric, --lc-time=locale
为新的数据库簇在各自的目录中分别
设定缺省语言环境(默认使用环境变
量)
--no-locale 等同于 --locale=c
--pwfile=文件名 对于新的超级用户从文件读取口令
-t, --text-search-config=cfg
缺省的文本搜索配置
-u, --username=name 数据库超级用户名
-w, --pwprompt 对于新的超级用户提示输入口令
-x, --xlogdir=xlogdir 当前事务日志目录的位置

非普通使用选项:
-d, --debug 产生大量的除错信息
-l directory 输入文件的位置
-n, --noclean 出错后不清理
-s, --show 显示内部设置

其它选项:
-?, --help 显示此帮助, 然后退出
-v, --version 输出版本信息, 然后退出

如果没有指定数据目录, 将使用环境变量 pgdata

配置运行环境变量(方便管理)
切换到root
vim /etc/profile

添加以下代码:
pgdata=/data/pg/data
pghost=127.0.0.1
pgdatabase=postgres
pguser=postgres
pgport=5432
path=/usr/local/pgsql/bin:$path
export path
export pgdata pghost pgdatabase pguser pgport

执行生效
source /etc/profile

postgresql服务管理
启动:
pg_ctl start -d /data/pg/data

重启:
pg_ctl restart -d /data/pg/data

停止:
pg_ctl stop -d /data/pg/data

强制重启:
pg_ctl restart -d /data/pg/data -m f

强制停止:
pg_ctl stop -d /data/pg/data -m f
-m f 指定快速关闭

加载配置:
pg_ctl reload -d /data/pg/data

显示服务状态:
pg_ctl status -d /data/pg/data

连接数据库
psql -h 127.0.0.1 -u postgres -p 5432 -d postgres -w
-d 指定数据库 ,-w 输入密码 , -u 指定用户,-p 指定端口,-h 指定ip

复制postgresql执行脚本
cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql

修改/etc/init.d/postgresql
把pgdata改成pgdata=/data/pg/data

加入开机启动
chkconfig postgresql on

管理pg服务时也可以直接用上面启动脚本
启动:service postgresql start
停止:service postgresql stop
重启:service postgresql restart
加载:service postgresql reload
状态:serivce postgresql status
软件
前端设计
程序设计
Java相关