新服务器安装postgresql

一、下载安装

1.下载pgsql包

如下地址:

https://www.enterprisedb.com/download-postgresql-binaries

选择相应版本下载

此处选择了:

postgresql-10.1-1-linux-x64-binaries.tar.gz

2.安装

解压:

tar -xvzf postgresql-10.1-1-linux-x64-binaries.tar.gz

移到想要的目录方便安装:

mv psql /haoke/

So,pgsql的安装目录就是/haoke/pgsql

3.创建用户

useradd postgres

Password postgres

两次输入密码并确认

4.创建pgsql数据目录

mkdir /haoke/pgsql_data

给postgres用户授权目录访问权限:

chown postgres /haoke/pgsql_data/

5.切换到postgres用户

su postgres

6.修改~/.bash_profile

将pgsql的bin目录加到环境变量中

export PGDATA=/haoke/pgsql_data

source ~/.bash_profile

7.初始化数据库

/haoke/pgsql/bin/initdb -D /haoke/pgsql_data/

看到Success就成功了

8.启动数据库:

根据success后面的提示就可以开启数据库了

/haoke/pgsql/bin/pg_ctl -D /haoke/pgsql_data/ -l /haoke/logfile start

-l 指定的是log目录,没有就:

makedir /haoke/logfile

9.查看进程

ps -ef | grep postgres

10.查看监听情况

netstat -an | grep 5432

如果没成功,有一个很大的问题是新服务器没有启动5432端口

二、开启5432端口

示例是腾讯云服务器

linux指定开放端口:

vi /etc/sysconfig/iptables

添加:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

重启:

/etc/init.d/iptables restart

查看端口是否开放:

/sbin/iptables -L -n

三、设置远程访问

文件/haoke/pgsql_data/postgresql.conf中:

listening_address修改为:

listening_address: ‘*’

文件/haoke/pgsql_data/pg_hba.conf中:

host all all 0.0.0.0/0 trust

重启:

/haoke/pgsql/bin/pg_ctl -D /haoke/pgsql_data/ restart

此后即可从其它机器上登录,例如用pycharm 里 database 选择 PostgreSQL:

主机名或IP: ip地址

端口: 5432

初始数据库: 数据库名

用户: postgres

密码: postgres

如果没有数据库,看下面的命令

四、创建数据库

cd /haoke/pgsql/bin

执行:

./psql -h localhost -d 数据库名称 -U postgres -p 5432

就进入到:

交互式提示符:postgres=#

\l 可查看当前的数据库列表

创建数据库:

postgres=# CREATE DATABASE test WITH OWNER=postgres ENCODING=‘UTF-8’

\c test 可以切换到test数据库

创建表的语法:

CREATE TABLE student (
  id integer NOT NULL,
  name character(32),
  number char(5),
  CONSTRAINT student_pkey PRIMARY KEY (id)
);

\d 可以查看当前数据库下的所有表

\d 表名 可以查看表的详细信息,有字段名称类型等

插入数据的语法:

INSERT INTO student (id, name, number) VALUES (1, ‘张三’, ‘1023’);

\q 退出交互式界面

五、备份及恢复数据库

如果需要使用命令先在本地备份数据库:

pg_dump -h localhost -p 5432 -U postgres -f 保存文件名称.sql 数据库名称

-h 后面是本地数据库ip地址

-U 用户名

-f *.sql是生成文件的名字

备份成功后,将*.sql文件上传到服务器,并恢复:

psql -h localhost -p 5432 -U postgres -f 收到的文件名.sql 准备放入到服务器数据库的名称

-h 还是localhost,表示服务器本地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值