linux下postgresql 9.4 怎么安装

linux下postgresql 9.4 怎么安装,第1张

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

我用ubuntu,所以不大懂yum具体怎么 *** 作,但我想应该与apt的功能差不多。首先,postgresql是很有名的数据库,你用不着指定具体的版本。你可以直接用yum去查询源或者库里是否有这个软件(具体 *** 作请参考yum的文档,我这边是apt-cachesearchpostgresql)当然,如果你用新立得的话,它的编辑菜单里有个按任务安装软件,里面有postgresql数据库的选项。安装postgresql之后难免要配置它。你也许会很奇怪,安装的过程中没有提示你添加用户或者添加数据库密码(在ubuntu上就是这样,不知道红帽是什么样的情况)。其实,随着数据库的安装,已经添加了用户postgres,你要做的是先登录到这个用户的shell下,再添加你需要的实用用户。按照我的 *** 作,是这样的,先passwdpostgres改掉本地用户postgres的密码然后用这个postgres登录到系统(可以Ctrl+Alt+F1-F5来切换虚拟控制台)。createuser本地帐户##如果你本地用户名是joe,那么就createuserjoe会提示你是否创建超级用户。一般来说都会建一个超级用户来管理,当然你也可以选择建立一个普通的用户。现在基本上就配置完毕了,回到你刚才的用户登录,例如joe,可以用psql来登录到postgresql了。如果你需要编程登录数据库,那么你得先建库,再建role,然后通过role登录。打个比方,用php登录到postgresql,使用PEAR的MDB2软件包登录,你可以这样createdb##假设你为当前用户(本地帐户)建立了一个超级数据库用户(角色,role),该命令会建立一个与当前用户同名的数据库,可以指定数据库名来建别的库。psql##以超级用户登录到数据库(与本地用户同名)alterrole本地用户名password'newpassword'##为本地数据库用户(角色)建立一个密码,这个密码将来用于你编程登录数据库现在可以用本地用户作为角色通过php编程登录数据库了,因为密码和用户名都是已知的了。当然,用超级用户登录数据库有安全问题,如果你建立一个普通角色的话,需要给普通用户赋权,这个问题需要你参考postgresql的用户手册,百度文库里有英文9.1的用户手册,查询权限一节即可解决此问题。或者,可以使用pgadmin这一图形界面来解决权限等问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7458526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存