PostgreSQL 二进制安装步骤

本人测试系统为Ubuntu 12.04,本文不介绍Ubuntu的安装方法,在通用linux版本中使用自定义的二进制安装方法。


下载安装版本:wget http://get.enterprisedb.com/postgresql/postgresql-9.4.9-1-linux-x64-binaries.tar.gz


一、创建psotgres用户

groupadd postgres

useradd -g postgres postgres


二、创建必须目录

进入下载目录

tar xzf postgresql-9.4.9-1-linux-x64-binaries.tar.gz -C /data/service

创建data目录:

mkdir -p /data/service/postgresql/data

mkdir -p /data/service/postgresql/log


授权:

chown -R postgres.postgres pgsql

chown -R postgres.postgres postgresql


这里如果不授权,后面初始化时候会报权限错误:

fixing permissions on existing directory /data/service/postgresql/data ... initdb: could not change permissions of directory "/data/service/postgresql/data": Operation not permitted

三、初始化

进入解压后的目录,切换用户到postgres
root@s0142-gz:/data/service# su postgres
$ bin/initdb -E utf8 -D /data/service/postgresql/data

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 "en_US.UTF-8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /data/service/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
creating template1 database in /data/wulinzhi/service/postgresql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... 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:

    bin/postgres -D /data/service/postgresql/data
or
    bin/pg_ctl -D /data/service/postgresql/data -l logfile start


OK 看到这个表示已经初始化成功了。

我们先使用默认配置启动postgresql,如需修改配置参数,可以在data的目录下的postgresql.conf修改。

四、启动postgresql

启动注意必须使用postgres用户启动
postgres@s0142-gz:/data/service/pgsql/bin$ ./postgres -D /data/service/postgresql/data/ > /data/service/postgresql/log/postgres.log &

[1] 36452
postgres@s0142-gz:/data/service/pgsql/bin$ LOG:  database system was shut down at 2016-08-24 15:19:08 CST
LOG:  MultiXact member wraparound protections are now enabled
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started



登录数据库:
postgres@s0142-gz:/data/wulinzhi/service/pgsql/bin$ ./psql

psql.bin (9.4.9)
Type "help" for help.


No entry for terminal type "xterm";
using dumb terminal settings.
postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit
postgres=# 
postgres=# \h
Available help:
  ABORT                            ALTER TYPE                       CREATE SCHEMA                    DROP LANGUAGE                    PREPARE
  ALTER AGGREGATE                  ALTER USER                       CREATE SEQUENCE                  DROP MATERIALIZED VIEW           PREPARE TRANSACTION
  ALTER COLLATION                  ALTER USER MAPPING               CREATE SERVER                    DROP OPERATOR                    REASSIGN OWNED
  ALTER CONVERSION                 ALTER VIEW                       CREATE TABLE                     DROP OPERATOR CLASS              REFRESH MATERIALIZED VIEW
  ALTER DATABASE                   ANALYZE                          CREATE TABLE AS                  DROP OPERATOR FAMILY             REINDEX
  ALTER DEFAULT PRIVILEGES         BEGIN                            CREATE TABLESPACE                DROP OWNED                       RELEASE SAVEPOINT
  ALTER DOMAIN                     CHECKPOINT                       CREATE TEXT SEARCH CONFIGURATION DROP ROLE                        RESET
  ALTER EVENT TRIGGER              CLOSE                            CREATE TEXT SEARCH DICTIONARY    DROP RULE                        REVOKE
  ALTER EXTENSION                  CLUSTER                          CREATE TEXT SEARCH PARSER        DROP SCHEMA                      ROLLBACK
  ALTER FOREIGN DATA WRAPPER       COMMENT                          CREATE TEXT SEARCH TEMPLATE      DROP SEQUENCE                    ROLLBACK PREPARED
  ALTER FOREIGN TABLE              COMMIT                           CREATE TRIGGER                   DROP SERVER                      ROLLBACK TO SAVEPOINT
  ALTER FUNCTION                   COMMIT PREPARED                  CREATE TYPE                      DROP TABLE                       SAVEPOINT
  ALTER GROUP                      COPY                             CREATE USER                      DROP TABLESPACE                  SECURITY LABEL
  ALTER INDEX                      CREATE AGGREGATE                 CREATE USER MAPPING              DROP TEXT SEARCH CONFIGURATION   SELECT
  ALTER LANGUAGE                   CREATE CAST                      CREATE VIEW                      DROP TEXT SEARCH DICTIONARY      SELECT INTO
  ALTER LARGE OBJECT               CREATE COLLATION                 DEALLOCATE                       DROP TEXT SEARCH PARSER          SET
  ALTER MATERIALIZED VIEW          CREATE CONVERSION                DECLARE                          DROP TEXT SEARCH TEMPLATE        SET CONSTRAINTS
  ALTER OPERATOR                   CREATE DATABASE                  DELETE                           DROP TRIGGER                     SET ROLE
  ALTER OPERATOR CLASS             CREATE DOMAIN                    DISCARD                          DROP TYPE                        SET SESSION AUTHORIZATION
  ALTER OPERATOR FAMILY            CREATE EVENT TRIGGER             DO                               DROP USER                        SET TRANSACTION
  ALTER ROLE                       CREATE EXTENSION                 DROP AGGREGATE                   DROP USER MAPPING                SHOW
  ALTER RULE                       CREATE FOREIGN DATA WRAPPER      DROP CAST                        DROP VIEW                        START TRANSACTION
  ALTER SCHEMA                     CREATE FOREIGN TABLE             DROP COLLATION                   END                              TABLE
  ALTER SEQUENCE                   CREATE FUNCTION                  DROP CONVERSION                  EXECUTE                          TRUNCATE
  ALTER SERVER                     CREATE GROUP                     DROP DATABASE                    EXPLAIN                          UNLISTEN
  ALTER SYSTEM                     CREATE INDEX                     DROP DOMAIN                      FETCH                            UPDATE
  ALTER TABLE                      CREATE LANGUAGE                  DROP EVENT TRIGGER               GRANT                            VACUUM
  ALTER TABLESPACE                 CREATE MATERIALIZED VIEW         DROP EXTENSION                   INSERT                           VALUES
  ALTER TEXT SEARCH CONFIGURATION  CREATE OPERATOR                  DROP FOREIGN DATA WRAPPER        LISTEN                           WITH
  ALTER TEXT SEARCH DICTIONARY     CREATE OPERATOR CLASS            DROP FOREIGN TABLE               LOAD                             
  ALTER TEXT SEARCH PARSER         CREATE OPERATOR FAMILY           DROP FUNCTION                    LOCK                             
  ALTER TEXT SEARCH TEMPLATE       CREATE ROLE                      DROP GROUP                       MOVE                             
  ALTER TRIGGER                    CREATE RULE                      DROP INDEX                       NOTIFY                           
postgres=# 

到此postgresql安装完成,可以开始正常服务,大家如果想创建自己的数据库,用户和密码可以使用:

验证使用:

添加新用户和创建数据库

postgres=# create user wlz with password '123';
CREATE ROLE
postgres=# create database mydb with encoding='utf8' owner=wlz;
CREATE DATABASE


验证登录

postgres@s0142-gz:/data/wulinzhi/service/pgsql/bin$ ./psql -U wlz -d mydb
psql.bin (9.4.9)
Type "help" for help.


No entry for terminal type "xterm";
using dumb terminal settings.
mydb=> 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值