跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 安装指南
  4. Openerp的数据库该怎么设置

Openerp的数据库该怎么设置

已定时 已固定 已锁定 已移动 Odoo 安装指南
14 帖子 4 发布者 23.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #5

    你是用 apt-get 安装的openerp吧,这个安装包我也不是很熟。不过你还是可以自己来生成openerp的配置文件的,比如:

    openerp-server --db_user=openerp --db_password=openerp --addons_path=ADDONS_PATH --save
    

    其中 --save 会使openerp在当前用户的$HOME目录下生成 .openerp-serverrc 文件

    【上海先安科技】(tony AT openerp.cn)

    1 条回复 最后回复
    0
    • P 离线
      P 离线
      paridis
      写于 最后由 编辑
      #6

      为什么在终端运行openerp-server --hlep可以显示很详细的帮助信息

      Usage: openerp-server.py [options]
      Options:
      --version show program's version number and exit
      -h, --help show this help message and exit
      -c CONFIG, --config=CONFIG
      specify alternate config file
      -s, --save save configuration to ~/.openerp_serverrc
      --pidfile=PIDFILE file where the server pid will be stored
      -n INTERFACE, --interface=INTERFACE
      specify the TCP IP address
      -p PORT, --port=PORT specify the TCP port
      --net_interface=NETINTERFACE
      specify the TCP IP address for netrpc
      --net_port=NETPORT specify the TCP port for netrpc

      …

      但是我运行openerp-server.py提示找不到命令?

      如果openerp-server.py可以运行的话,用 --db_user=DB_USER 和 --db_password=DB_PASSWORD应该就可以解决问题了。

      不过还是搞不清楚openerp的配置文件是哪个。

      [[i] 本帖最后由 paridis 于 2009-8-31 20:24 编辑 [/i]]

      1 条回复 最后回复
      0
      • O 离线
        O 离线
        oldrev
        写于 最后由 编辑
        #7

        需要先配置 postgresql ,创建好 pg 帐号再设置 openerp

        1 条回复 最后回复
        0
        • digitalsatoriD 离线
          digitalsatoriD 离线
          digitalsatori 管理员
          写于 最后由 编辑
          #8

          [quote]原帖由 [i]paridis[/i] 于 2009-8-31 20:18 发表 shine-it.net/redirect.php?goto=findpost&pid=2642&ptid=610
          为什么在终端运行openerp-server --hlep可以显示很详细的帮助信息
          [/quote]

          这是因为你的安装包生成了一个称为openerp-server的脚本,通过这个脚本再去调用openerp-server.py的,这个脚本在你的搜索路径中,而openerp-server.py却不在。
          你可以象使用openerp-server.py这样来使用openerp-server,也就是说对openerp-server.py适用的命令行参数也适用于openerp-server

          【上海先安科技】(tony AT openerp.cn)

          1 条回复 最后回复
          0
          • P 离线
            P 离线
            paridis
            写于 最后由 编辑
            #9

            老大,谢了,又明白了一点点。

            不过又出现了一些问题,

            指定用户登陆,用的却是别的数据库:[code]
            wen@wen-d:~$ openerp-server -r openerp
            [2009-08-31 21:48:23,963] INFO:server:version - 5.0.0
            [2009-08-31 21:48:23,963] INFO:server:addons_path -
            /usr/lib/openerp-server/addons
            [2009-08-31 21:48:23,963] INFO:server:database hostname - localhost
            [2009-08-31 21:48:23,964] INFO:server:database port - 5432
            [2009-08-31 21:48:23,964] INFO:server:database user - openerp
            [2009-08-31 21:48:23,964] INFObjects:initialising distributed objects
            services
            [2009-08-31 21:48:24,199] INFO:web-services:starting XML-RPC services,
            port 8069
            [2009-08-31 21:48:24,199] INFO:web-services:starting NET-RPC service,
            port 8070
            [2009-08-31 21:48:24,200] INFO:web-services:the server is running,
            waiting for connections...
            [2009-08-31 21:48:32,287] INFO:dbpool:Connecting to template1
            [2009-08-31 21:48:32,300] INFO:dbpool:Closing all connections to template1
            Closing connection <connection object at 0x152cc80; dsn: 'user=openerp
            dbname=template1', closed: 0>
            [/code]指定数据库用户名和数据库,我也不知道是什么错误了:[code]
            wen@wen-d:~$ openerp-server -r openerp
            [2009-08-31 21:48:23,963] INFO:server:version - 5.0.0
            [2009-08-31 21:48:23,963] INFO:server:addons_path -
            /usr/lib/openerp-server/addons
            [2009-08-31 21:48:23,963] INFO:server:database hostname - localhost
            [2009-08-31 21:48:23,964] INFO:server:database port - 5432
            [2009-08-31 21:48:23,964] INFO:server:database user - openerp
            [2009-08-31 21:48:23,964] INFObjects:initialising distributed objects
            services
            [2009-08-31 21:48:24,199] INFO:web-services:starting XML-RPC services,
            port 8069
            [2009-08-31 21:48:24,199] INFO:web-services:starting NET-RPC service,
            port 8070
            [2009-08-31 21:48:24,200] INFO:web-services:the server is running,
            waiting for connections...
            [2009-08-31 21:48:32,287] INFO:dbpool:Connecting to template1
            [2009-08-31 21:48:32,300] INFO:dbpool:Closing all connections to template1
            Closing connection <connection object at 0x152cc80; dsn: 'user=openerp
            dbname=template1', closed: 0>
            [/code]指定数据库,它却用系统里的用户登陆:[code]
            wen@wen-d:~$ openerp-server -d openerp
            [2009-08-31 21:52:16,328] INFO:server:version - 5.0.0
            [2009-08-31 21:52:16,328] INFO:server:addons_path -
            /usr/lib/openerp-server/addons
            [2009-08-31 21:52:16,329] INFO:server:database hostname - localhost
            [2009-08-31 21:52:16,329] INFO:server:database port - 5432
            [2009-08-31 21:52:16,329] INFO:server:database user - wen
            [2009-08-31 21:52:16,329] INFObjects:initialising distributed objects
            services
            [2009-08-31 21:52:16,563] INFO:dbpool:Connecting to openerp
            [2009-08-31 21:52:16,578] ERROR:dbpool:Unable to connect to openerp: 致
            命错误: role "wen" does not exist
            Traceback (most recent call last):
            File "./openerp-server.py", line 108, in <module>
            pooler.get_db_and_pool(db, update_module=tools.config['init'] or
            tools.config['update'])
            File "/usr/lib/openerp-server/pooler.py", line 29, in get_db_and_pool
            db = get_db_only(db_name)
            File "/usr/lib/openerp-server/pooler.py", line 71, in get_db_only
            db = sql_db.db_connect(db_name)
            File "/usr/lib/openerp-server/sql_db.py", line 239, in db_connect
            return PoolManager.get(db_name)
            File "/usr/lib/openerp-server/sql_db.py", line 223, in get
            cls._pools[db_name] = ConnectionPool(ThreadedConnectionPool(1,
            cls.maxconn, cls.dsn(db_name)), db_name)
            File "/usr/lib/python2.5/site-packages/psycopg2/pool.py", line 161, in
            init
            self, minconn, maxconn, *args, **kwargs)
            File "/usr/lib/python2.5/site-packages/psycopg2/pool.py", line 76, in
            init
            self._connect()
            File "/usr/lib/python2.5/site-packages/psycopg2/pool.py", line 80, in
            _connect
            conn = psycopg2.connect(*self._args, **self._kwargs)
            psycopg2.OperationalError: 致命错误: role "wen" does not exist
            [/code]我想可能要指定配置文件才能解决问题,顺便问一下

             openerp-server&#46;py --config=/PATH/TO/openerp-server&#46;conf
            

            /PATH/TO/openerp-server.conf是指哪里的地址?
            如果我直接用openerp-server.py --config=/etc/openerp-server.conf,是不是就指定了/etc/openerp-server.conf为openerp的配置文件了呢?

            [[i] 本帖最后由 paridis 于 2009-9-1 16:02 编辑 [/i]]

            1 条回复 最后回复
            0
            • P 离线
              P 离线
              paridis
              写于 最后由 编辑
              #10

              为什么指定openerp的配置文件会出错呢?

              [code]
              wen@wen-d:/usr/bin$ openerp-server -c /etc/openerp-server.conf
              ERROR: couldn't create the logfile directory. Logging to the standard
              output.
              [2009-09-01 22:08:46,708] INFO:server:version - 5.0.0
              [2009-09-01 22:08:46,709] INFO:server:addons_path -
              /usr/lib/openerp-server/addons
              [2009-09-01 22:08:46,709] INFO:server:database hostname - localhost
              [2009-09-01 22:08:46,709] INFO:server:database port - 5432
              [2009-09-01 22:08:46,709] INFO:server:database user - openerp
              [2009-09-01 22:08:46,710] INFO:objects:initialising distributed objects
              services
              [2009-09-01 22:08:46,986] INFO:dbpool:Connecting to openerp
              Traceback (most recent call last):
              File "./openerp-server.py", line 108, in <module>
              pooler.get_db_and_pool(db, update_module=tools.config['init'] or
              tools.config['update'])
              File "/usr/lib/openerp-server/pooler.py", line 40, in get_db_and_pool
              addons.load_modules(db, force_demo, status, update_module)
              File "/usr/lib/openerp-server/addons/init.py", line 703, in load_modules
              cr.execute("SELECT name from ir_module_module WHERE state in (%s)" %
              ','.join(['%s']*len(STATES_TO_LOAD)), STATES_TO_LOAD)
              File "/usr/lib/openerp-server/sql_db.py", line 76, in wrapper
              return f(self, *args, **kwargs)
              File "/usr/lib/openerp-server/sql_db.py", line 118, in execute
              res = self._obj.execute(query, params)
              psycopg2.ProgrammingError: 错误: 关系 "ir_module_module" 不存在
              [/code]

              1 条回复 最后回复
              0
              • digitalsatoriD 离线
                digitalsatoriD 离线
                digitalsatori 管理员
                写于 最后由 编辑
                #11

                按道理说,通过debian安装包安装的openerp应该会自动设置数据库用户,配置文件等,Daemon服务等,一般不需要你再做设置。我没有用apt-get安装过openerp,所以具体情况不是很清楚。

                postgreSQL数据库在ubuntu上默认使用的是same-user ident, 意思是当客户端与postgreSQL服务器连接时如果没有专门提供数据库用户名,postgreSQL服务器会以运行客户端的系统用户名作为数据库用户名。这就是为什么你在之前用命令行参数设置了数据库名称,而不设置数据库用户时,显示的是以系统用户来登录数据库的。

                不管是用same-user ident从而使用系统用户名,还是指定用户名登录pgsql数据库,前提是必须在数据库中已经有对应数据库用户存在,创建数据库用户的方法如下:

                sudo su postgres -c createuser -RP DBUSER
                

                替换DBUSER为你需要设置的数据库用户名,并在提示输入密码时,为其设置密码。

                openerp-server.py的命令行参数可以连起来使用,比如:

                openerp-server&#46;py -d DBNAME -r DBUSER --addon-path=ADDONPATH -s
                

                上述参数中前两个你已经了解了,第三个用来告诉openerp服务器到哪里去找addons模块目录,最后我们用-s来保存以上的设置到默认的配置文件里,即:$HOME/.openerp_serverrc
                这样你下次启动openerp服务器就不需要输入这一堆命令行参数了,直接运行openerp-server.py就可以了。

                【上海先安科技】(tony AT openerp.cn)

                1 条回复 最后回复
                0
                • P 离线
                  P 离线
                  paridis
                  写于 最后由 编辑
                  #12

                  [quote]原帖由 [i]digitalsatori[/i] 于 2009-9-4 16:22 发表 www.shine-it.net/redirect.php?goto=findpost&pid=2668&ptid=610
                  按道理说,通过debian安装包安装的openerp应该会自动设置数据库用户,配置文件等,Daemon服务等,一般不需要你再做设置。我没有用apt-get安装过openerp,所以具体情况不是很清楚。

                  postgreSQL数据库在ubuntu上默认 ... [/quote]

                  wen@wen-d:~$ openerp-server -d openerp -r openerp --addons-path=/etc/openerp-server.conf -s
                  Traceback (most recent call last):
                  File "./openerp-server.py", line 108, in <module>
                  pooler.get_db_and_pool(db, update_module=tools.config['init'] or
                  tools.config['update'])
                  File "/usr/lib/openerp-server/pooler.py", line 40, in get_db_and_pool
                  addons.load_modules(db, force_demo, status, update_module)
                  File "/usr/lib/openerp-server/addons/init.py", line 703, in load_modules
                  cr.execute("SELECT name from ir_module_module WHERE state in (%s)" %
                  ','.join(['%s']*len(STATES_TO_LOAD)), STATES_TO_LOAD)
                  File "/usr/lib/openerp-server/sql_db.py", line 76, in wrapper
                  return f(self, *args, **kwargs)
                  File "/usr/lib/openerp-server/sql_db.py", line 118, in execute
                  res = self._obj.execute(query, params)
                  psycopg2.ProgrammingError: 错误: 关系 "ir_module_module" 不存在

                  在数据库中已经有对应数据库用户存在,用pgadmin可以登陆

                  1 条回复 最后回复
                  0
                  • digitalsatoriD 离线
                    digitalsatoriD 离线
                    digitalsatori 管理员
                    写于 最后由 编辑
                    #13
                    openerp-server -d openerp -r openerp --addons-path=/etc/openerp-server&#46;conf -s
                    

                    --addons-path 参数用错了,这里要提供的是openerp的模块的存放路径。找一下在你的系统中addons的路径是什么

                    【上海先安科技】(tony AT openerp.cn)

                    1 条回复 最后回复
                    0
                    • mrshellyM 离线
                      mrshellyM 离线
                      mrshelly
                      写于 最后由 编辑
                      #14

                      这些参数,应该直接使用 openerp-server.cfg 文件来处理. 最好不要跟命令行参数吧

                      1 条回复 最后回复
                      0

                      • 登录

                      • 没有帐号? 注册

                      • 登录或注册以进行搜索。
                      • 第一个帖子
                        最后一个帖子
                      0
                      • 版块
                      • 标签
                      • 热门
                      • 用户
                      • 群组