PostgreSQL服務啓動時報錯:“FATAL: could not create lock file "/tmp/.s.PGSQL.5432.lock": Permission denied”

PostgreSQL服務啓動時報錯:FATAL: could not create lock file "/tmp/.s.PGSQL.5432.lock": 權限不夠


PostgreSQL服務啓動時報錯:FATAL: could not open lock file "/tmp/.s.PGSQL.5432.lock": 權限不夠


[postgresql@iTOP-4412 /mnt/disk/binpost/bin]$./postgres -D /usr/local/pgsql/data
FATAL:  could not create lock file "/tmp/.s.PGSQL.5432.lock": Permission denied



1:添加linux用戶及創建數據庫目錄   
addgroup postgresql
adduser -G postgresql postgresql   此處需要輸入密碼,後面有此密碼來鏈接數據庫
mkdir -p /usr/local/pgsql/data
mkdir -p /usr/local/pgsql/log
touch  /usr/local/pgsql/log/pgsql.log
2:更改數據庫目錄所屬權限
chown -R postgresql:postgresql /usr/local/pgsql/data
chown -R postgresql:postgresql /usr/local/pgsql/log
chown -R postgresql:postgresql /usr/local/pgsql/log/pgsql.log
chown -R postgresql:postgresql tmp


3:創建數據庫用戶(可忽略)
createuser -sADEP postgresql
此處需要輸入密碼,用來連接數據庫
4:初始化及啓動數據庫
./initdb -D /usr/local/pgsql/data
./pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start
[postgresql@iTOP-4412 /binpost/bin]$./pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/pgsql.log start
server starting
5:登陸到postgresql命令行/創建數據庫及表,添加紀錄。
首先需要以之前創建的用戶登錄 postgresql
psql postgres  
執行命令的時候,出現如下問題:
[postgresql@iTOP-4412 /binpost/bin]$./psql postgres  
psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
百度之後是權限的問題:
對/tmp目錄的所屬權限進行設置
[postgresql@iTOP-4412 /binpost/bin]$ su - root
[root@iTOP-4412]# ls
bin              etd              proc             usr
binpost          home             root             var
binpost.tar.bz2  lib              sbin             work
createsocket     linuxrc          showtable
dev              mnt              sys
etc              opt              tmp
[root@iTOP-4412]# chown -R postgresql:postgresql tmp
[root@iTOP-4412]# su postgresql
[postgresql@iTOP-4412 /binpost/bin]$./pg_ctl -D /usr/local/pgsql/data -l /usr/lo
cal/pgsql/log/pgsql.log start
server starting
[postgresql@iTOP-4412 /binpost/bin]$./psql postgres  
psql (9.1.9)
Type "help" for help.


postgres=# CREATE DATABASE psmp;  
postgres=# \l
                                List of databases
   Name    |   Owner    | Encoding  | Collate | Ctype |     Access privileges     
-----------+------------+-----------+---------+-------+---------------------------
 postgres  | postgresql | SQL_ASCII | C       | C     | 
 psmp      | postgresql | SQL_ASCII | C       | C     | 
 template0 | postgresql | SQL_ASCII | C       | C     | =c/postgresql            +
           |            |           |         |       | postgresql=CTc/postgresql
 template1 | postgresql | SQL_ASCII | C       | C     | =c/postgresql            +
           |            |           |         |       | postgresql=CTc/postgresql
(4 rows)
  
創建表company並添加紀錄
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL,
   JOIN_DATE  DATE
);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00 ,'2001-07-13'); 




INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT ); 


6:直接登錄數據庫
[postgresql@iTOP-4412 /binpost/bin]$
[postgresql@iTOP-4412 /binpost/bin]$
[postgresql@iTOP-4412 /binpost/bin]$./psql -d psmp -U postgresql
psql (9.1.9)
Type "help" for help.


psmp=# \d
           List of relations
 Schema |  Name   | Type  |   Owner    
--------+---------+-------+------------
 public | company | table | postgresql
(1 row)


psmp=# select * from company;
 id | name  | age |                      address                       | salary | join_date  
----+-------+-----+----------------------------------------------------+--------+------------
  1 | Paul  |  32 | California                                         |  20000 | 2001-07-13
  3 | Teddy |  23 | Norway                                             |  20000 | 
(2 rows)


psmp=# 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章