Linux部署postgresql

# 添加postgres用户

[root@hadoop ~]# useradd postgres

[root@hadoop ~]# id postgres

uid=1001(postgres) gid=1001(postgres) 组=1001(postgres)

# 切换用户并创建目录

[root@hadoop postgres]# su - postgres

[postgres@hadoop ~]$ mkdir tmp sourcecode software shell log lib  data app

# 解压

[postgres@hadoop ~]$ tar -xvf software/postgresql-9.6.18-1-linux-x64-binaries.tar.gz -C ~/app/

[postgres@hadoop app]$ cd /home/postgres/app/pgsql/

# 创建数据目录

[postgres@hadoop ~]$ cd

[postgres@hadoop ~]$ cd data/

[postgres@hadoop data]$ mkdir pgdata

# 配置环境变量

[postgres@hadoop ~]$ vim .bashrc

export PG_HOME=/home/postgres/app/pgsql

export PATH=$PG_HOME/bin:$PATH

export PGDATA=/home/postgres/data/pgdata

[postgres@hadoop ~]$ source .bashrc

[postgres@hadoop ~]$ which psql 

~/app/pgsql/bin/psql

# 初始化数据库

[postgres@hadoop ~]$ initdb /home/postgres/data/pgdata

The files belonging to this database system will be owned by user "postgres".

This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".

The default database encoding has accordingly been set to "UTF8".

initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"

The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /home/postgres/data/pgdata ... ok

creating subdirectories ... ok

selecting default max_connections ... 100

selecting default shared_buffers ... 128MB

selecting default timezone ... PRC

selecting dynamic shared memory implementation ... posix

creating configuration files ... ok

running bootstrap script ... ok

performing post-bootstrap initialization ... ok

syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections

You can change this by editing pg_hba.conf or using the option -A, or

--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    pg_ctl -D /home/postgres/data/pgdata -l logfile start

# 查看数据目录

[postgres@hadoop ~]$ cd /home/postgres/data/pgdata

[postgres@hadoop pgdata]$ ll

总用量 48

drwx------. 5 postgres postgres    38 6月  3 15:57 base

drwx------. 2 postgres postgres  4096 6月  3 15:57 global

drwx------. 2 postgres postgres    17 6月  3 15:57 pg_clog

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_commit_ts

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_dynshmem

-rw-------. 1 postgres postgres  4468 6月  3 15:57 pg_hba.conf

-rw-------. 1 postgres postgres  1636 6月  3 15:57 pg_ident.conf

drwx------. 4 postgres postgres    37 6月  3 15:57 pg_logical

drwx------. 4 postgres postgres    34 6月  3 15:57 pg_multixact

drwx------. 2 postgres postgres    17 6月  3 15:57 pg_notify

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_replslot

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_serial

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_snapshots

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_stat

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_stat_tmp

drwx------. 2 postgres postgres    17 6月  3 15:57 pg_subtrans

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_tblspc

drwx------. 2 postgres postgres    6 6月  3 15:57 pg_twophase

-rw-------. 1 postgres postgres    4 6月  3 15:57 PG_VERSION

drwx------. 3 postgres postgres    58 6月  3 15:57 pg_xlog

-rw-------. 1 postgres postgres    88 6月  3 15:57 postgresql.auto.conf

-rw-------. 1 postgres postgres 22505 6月  3 15:57 postgresql.conf

# 配置pg_hba.conf文件

[postgres@hadoop pgdata]$ cp pg_hba.conf pg_hba.conf.`date +%F`

[postgres@hadoop pgdata]$ vim pg_hba.conf

# TYPE  DATABASE        USER            ADDRESS                METHOD

# "local" is for Unix domain socket connections only

local  all            all                                    trust

# IPv4 local connections:

host    all            all            127.0.0.1/32            trust

# IPv6 local connections:

host    all            all            ::1/128                trust

host    all            all              0.0.0.0/0                md5

# Allow replication connections from localhost, by a user with the

# replication privilege.

#local  replication    postgres                                trust

local  replication    all                                trust

#host    replication    postgres        127.0.0.1/32            trust

host    replication    all        127.0.0.1/32            trust

#host    replication    postgres        ::1/128                trust

# 配置postgresql.conf文件

[postgres@hadoop pgdata]$ cp postgresql.conf postgresql.conf.`date +%F`

[postgres@hadoop pgdata]$ vim postgresql.conf

listen_addresses = '*'

# 配置日志目录

[postgres@hadoop pgdata]$ mkdir ~/log/pglog

启动pg

[postgres@hadoop pgdata]$ pg_ctl start -l /home/postgres/log/pglog/pg_server.log

# 检验是否启动成功

[postgres@hadoop ~]$ cd

[postgres@hadoop ~]$ lsof -i:5432

COMMAND    PID    USER  FD  TYPE DEVICE SIZE/OFF NODE NAME

postgres 14122 postgres    3u  IPv4  35167      0t0  TCP *:postgres (LISTEN)

postgres 14122 postgres    4u  IPv6  35168      0t0  TCP *:postgres (LISTEN)

# 设置密码

[postgres@hadoop ~]$ psql

psql.bin (9.6.18)

Type "help" for help.

postgres=# \password

Enter new password:

Enter it again:

# 设置密码后需要重新登录

重启:

[postgres@hadoop pgdata]$ pg_ctl restart -l /home/postgres/log/pglog/pg_server.log

你可能感兴趣的:(Linux部署postgresql)