
Linux 下如何配置 PostgreSQL 数据库?
PostgreSQL 是一款非常流行的关系型数据库管理系统,已经成为互联网应用、大数据和物联网等领域中的关键组件。在 Linux 下,配置 PostgreSQL 数据库也很简单,只需执行几个关键步骤,即可完成配置。
本文将引导您如何在 Linux 系统中使用 PostgreSQL 数据库,包括如何安装 PostgreSQL 和基本配置,创建用户、数据库和表,以及配置远程访问等内容。
1. 安装 PostgreSQL
Ubuntu 系统上,安装 PostgreSQL 非常简单。只需在终端中输入以下命令:
“`
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
“`
安装完成后,您需要创建一个默认的 PostgreSQL 用户和数据库。在终端中输入以下命令:
“`
sudo -u postgres psql
“`
输入上述命令后,您将进入 PostgreSQL 终端界面,并在此界面下执行以下命令:
“`
CREATE USER postgres WITH PASSWORD ‘password’;
CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON DATABASE mydb TO postgres;
“`
在输入完以上命令后,您可以通过以下命令退出 PostgreSQL 终端界面:
“`
\q
“`
2. 配置 PostgreSQL
在完成 PostgreSQL 安装后,您需要进一步配置 PostgreSQL。您需要为 PostgreSQL 创建一个配置文件。在 Ubuntu 系统上,此文件位于 “/etc/postgresql//mn/postgresql.conf“,其中 为 PostgreSQL 的版本号。您可以使用文本编辑器打开此文件,查看和编辑其中的内容。
加密通信是数据库的重要保障,因此您需要启用 SSL 支持。在配置文件中找到以下部分:
“`
# SSL parameter settings:
ssl = off
“`
将 “ssl = off“ 改为 “ssl = on“,即可启用 SSL 支持。
另外,您还可以根据自己的需要,编辑参数 “listen_addresses“ 和 “max_connections“。前者指定 PostgreSQL 监听哪些 IP 地址,后者指定 PostgreSQL 引擎可以处理的更大连接数。
“`
listen_addresses = ‘localhost’
max_connections = 100
“`
3. 创建用户、数据库和表
在完成 PostgreSQL 的基本配置之后,您需要创建用户、数据库和表。在 PostgreSQL 的终端中,执行以下命令:
“`
sudo -u postgres psql
“`
然后,按照以下步骤操作:
– 创建用户:在 PostgreSQL 终端中,输入以下命令:
“`
CREATE USER myuser WITH PASSWORD ‘mypassword’;
“`
– 创建数据库:在 PostgreSQL 终端中,输入以下命令:
“`
CREATE DATABASE mydb;
“`
– 授权用户对数据库的访问权限:在 PostgreSQL 终端中,输入以下命令:
“`
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
“`
– 创建表:在 PostgreSQL 终端中,使用以下命令创建一个名为 mytable 的表:
“`
CREATE TABLE mytable (id serial primary key, name varchar(50), age int);
“`
该表包括三个字段,包括:id、name 和 age。其中,id 字段为自增主键。
在创建完表之后,您可以使用以下命令查看这个表的结构:
“`
\d mytable
“`
4. 配置远程访问
默认情况下,PostgreSQL 在本地访问时是没有问题的。如果您想在远程机器问数据库,请编辑 PostgreSQL 配置文件中的 “pg_hba.conf“ 文件。该文件位于 “/etc/postgresql//mn/pg_hba.conf“。
在文件末尾添加以下条目,以允许特定的 IP 地址访问 PostgreSQL 数据库:
“`
host all all 0.0.0.0/0 md5
“`
其中,0.0.0.0/0 表示任何 IP 地址都可以访问 PostgreSQL 数据库。如果您希望仅允许特定的 IP 地址访问 PostgreSQL 数据库,请将 0.0.0.0/0 替换为您想要的 IP 地址。
然后,您需要重启 PostgreSQL 服务,以使配置文件生效。在 Ubuntu 系统上,可以使用以下命令实现此操作:
“`
sudo service postgresql restart
“`
相关问题拓展阅读:
- centos6.3装配postgresq 3种方式怎么解决
- 在linux下安装好postgresql9.2之后怎么安装postgis插件。我使用yum install postgis2_92后提示说
centos6.3装配postgresq 3种方式怎么解决
一、简介扒含
PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系激绝统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。
二、系统环境
系统平台:CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火明此姿墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
三、安装方式
A. RPM包安装
B. yum 安装
C. 源码包安装
四、安装过程
A. RPM包安装
1. 检查PostgreSQL 是否已经安装
# rpm -qa|grep postgres
若已经安装,则使用rpm -e 命令卸载。
2. 下载RPM包
#wget
#wget
#wget
#wget
3. 安装PostgreSQL,注意安装顺序
# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
4. 初始化PostgreSQL 数据库
PostgreSQL 服务初次启动的时候会提示初始化。
初始化数据库
# service postgresql-9.2 initdb
5. 启动服务
# service postgresql-9.2 start
6. 把PostgreSQL 服务加入到启动列表
# chkconfig postgresql-9.2 on
# chkconfig –list|grep postgres
7. 修改PostgreSQL 数据库用户postgres的密码(注意不是linux系统帐号)
PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。
# su – postgres
$ psql
# ALTER USER postgres WITH PASSWORD ‘postgres’;
# select * from pg_shadow ;
8. 测试数据库
8.1 创建测试数据库
# create database david;
8.2 切换到david 数据库
# \c david
8.3 创建测试表
david=# create table test (id integer, name text);
8.4 插入测试数据
david=# insert into test values (1,’david’);
INSERT 0 1
david=#
8.5 选择数据
david=# select * from test ;
id | name
—-+
1 | david
(1 row)
david=#
测试完成,RPM包安装成功。
9. 修改linux 系统用户postgres 的密码
PostgreSQL 数据库默认会创建一个linux 系统用户postgres,通过passwd 命令设置系统用户的密码为post123。
# passwd postgres
10. 修改PostgresSQL 数据库配置实现远程访问
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf
如果想让PostgreSQL 监听整个网络的话,将listen_addresses 前的#去掉,并将 listen_addresses = ‘localhost’ 改成 listen_addresses = ‘*’
10.2 修改客户端认证配置文件pg_hba.conf
将需要远程访问数据库的IP地址或地址段加入该文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf
11. 重启服务以使设置生效
# service postgresql-9.2 restart
12. 远程测试连接
连接成功。
B. yum 安装
1. 将刚才安装的PostgreSQL 卸载
//停止PostgreSQL服务
# /etc/init.d/postgresql-9.2 stop
//查看已安装的包
# rpm -qa|grep postgres
//卸载
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686
2. yum 安装
如果是默认yum 安装的话,会安装较低版本的PostgreSQL 8.4,这不符合我们的要求。
我们使用PostgreSQL Yum Repository 来安装最新版本的PostgreSQL。
2.1 安装PostgreSQL yum repository
# rpm -i
2.2 安装新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib
2.3 查看安装
3. 初始化并启动数据库
4. 测试
其他步骤如A方式。
C. 源码包安装
1. 下载PostgreSQL 源码包
# wget
2. 解压源码包
# tar xjf postgresql-9.2.4.tar.bz2
3. 进入解压后的目录
# cd postgresql-9.2.4
4. 查看INSTALL 文件
INSTALL 文件中Short Version 部分解释了如何安装PostgreSQL 的命令,Requirements 部分描述了安装PostgreSQL 所依赖的lib,比较长,先configure 试一下,如果出现error,那么需要检查是否满足了Requirements 的要求。
5. 开始编译安装PostgreSQL 数据库。
# ./configure
configure 成功,无错误。
6. 执行gmake
# gmake
gmake 成功,Ready to install.
7. 执行gmake install
# gmake install
gmake install 成功,到这一步,PostgreSQL 源码编译安装完成,下面开始配置PostgreSQL.
8. 设置环境变量
# vi .bash_profile
把 PATH=$PATH:$HOME/bin
改成 PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
让环境变量生效:
# source .bash_profile
9. 添加用户postgres
# adduser postgres
* 更改用户目录(可选操作)
# vi /etc/passwd
把 postgres:x:528:528::/home/postgres:/bin/bash
改成 postgres:x:528:528::/usr/local/pgsql:/bin/bash
将.bash_profile 移动到新的用户目录并修改权限
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
删除用户目录:
# rm -rf postgres/
10. 初始化数据库
10.1 新建数据目录
# mkdir /usr/local/pgsql/data
10.2 更改权限
# chown postgres /usr/local/pgsql/data
10.3 切换到postgres 用户
# su – postgres
10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
到这里数据的初始化就完成了。
11. 系统服务
11.1 回到root 用户
$ exit
11.2 复制安装目录下的linux文件到/etc/init.d/
进入postgresql 的安装目录(即刚刚使用tar命令解压的目录)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql
11.3 添加执行权限
# chmod +x /etc/init.d/postgresql
11.4 启动数据库
11.5 让数据库开机启动
# chkconfig –add postgresql
# chkconfig postgresql on
11.6 创建数据库操作的历史记录文件
12. 测试使用
# su – postgres
$ createdb test
$ psql test
test=# create table test(id int);
在linux下安装好postgresql9.2之后怎么安装postgis插件。我使用yum install postgis2_92后提示说
在安装postgis前必须先安散渣装想对应的依赖包,才能安装postgis,依赖冲行悄包:
,先解压在用yum源安装,之后再安装postgis!!我这儿把依赖包下载好了,“依赖包”先在windonws系统下解压带卜,解压出来的再把里面的依赖包复制到linux环境下解压,切记!!(因为我上传只能打包上传),求分!
postgresql linux 配置的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于postgresql linux 配置,Linux下如何配置PostgreSQL数据库?,centos6.3装配postgresq 3种方式怎么解决,在linux下安装好postgresql9.2之后怎么安装postgis插件。我使用yum install postgis2_92后提示说的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/207141.html<