精华内容
下载资源
问答
  • odoo12 数据库选项.mp4

    2020-09-23 10:21:18
    进行 Odoo 开发时,经常会使用多个数据库,有时还会用到不同版本。在同一端口上停止、启动不同服务实例,或在不同数据库间切换,会导致网页客户端会话异常。因为浏览器会存储会话的 Cookie。
  • Odoo 12 数据库备份报错

    千次阅读 2019-05-15 15:34:33
    数据库管理页面(web/database/manager),手动备份zip格式报错,dump格式不报错 Database backup error: Postgres subprocess ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpcy7usg4s/dump....

    报错信息

    场景:

    • CentOS7
    • Postgres 10
    • Odoo 12
    • 在数据库管理页面(web/database/manager),手动备份zip格式报错,dump格式不报错
    Database backup error: Postgres subprocess ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpcy7usg4s/dump.sql', 'database_name') error 1
    

    原因:

    在于psql,pg_dump的版本和Postgres不一致,如下所示,当pg_dump为9.x,和server的10.7不匹配

    [root@pegrand tmp]# pg_dump --version
    pg_dump (PostgreSQL) 9.2.24
    

    解决方法:

    把安装PG10时的文件软链接到 /usr/bin文件夹下即可

    [root@pegrand tmp]# mv /usr/bin/pg_dump /usr/bin/pg_dump-bk
    [root@pegrand tmp]# ln -s  /usr/pgsql-10/bin/pg_dump /usr/bin/pg_dump
    [root@pegrand tmp]# pg_dump --version
    pg_dump (PostgreSQL) 10.7
    
    展开全文
  • Odoo 10 数据库备份及恢复总结

    千次阅读 2018-11-15 19:34:06
    数据库备份的时候难免会出现一些小问题,本篇文章主要讲解一下odoo的PostgreSQL数据库的备份恢复以及操作: 备份策略:阶段性备份+特定事件备份。周期性自动备份+手动检查+自动通知。官方参考:...

    数据库备份的时候难免会出现一些小问题,本篇文章主要讲解一下odoo的PostgreSQL数据库的备份恢复以及操作:

    备份策略:阶段性备份+特定事件备份。周期性自动备份+手动检查+自动通知。
    官方参考:https://www.odoo.com/forum/help-1/question/how-to-setup-a-regular-postgresql-database-backup-4728

    非并行备份及恢复
    使用PostgreSQL的pg_dump和pg_dumpall来备份数据,这两种备份工具都不支持并行备份。
    所有备份文件都保存到Master节点,而不是segment节点。一般情况不使用pg_dump,它适用于PostgreSQL迁移到Greenplum。

    1、pg_dump
    可以在本地及远程进行备份,只需要表的读权限即可备份。pg_dump创建的备份是一致的,在pg_dump运行时数据库产生快照,不阻塞数据库的DML操作,但是会阻塞需要排他锁的操作,如alter table等。特别注意的是,pg_dump一次只能备份一个单独的数据库,且不能备份角色和表空间信息(因为这些信息是cluster-wide,而不是在某个数据库中(per-database))。 

    命令参数:

    $ pg_dump --help
    
    pg_dump dumps a database as a text file or to other formats.
    
     
    
    Usage:
    
      pg_dump [OPTION]... [DBNAME]
    
     
    
    General options:
    
      -f, --file=FILENAME      output file name
    
      -F, --format=c|t|p       output file format (custom, tar, plain text)
    
      -i, --ignore-version     proceed even when server version mismatches
    
                               pg_dump version
    
      -v, --verbose            verbose mode
    
      -Z, --compress=0-9       compression level for compressed formats
    
      --help                   show this help, then exit
    
      --version                output version information, then exit
    
     
    
    Options controlling the output content:
    
      -a, --data-only             dump only the data, not the schema
    
      -b, --blobs                 include large objects in dump
    
      -c, --clean                 clean (drop) schema prior to create
    
      -C, --create                include commands to create database in dump
    
      -d, --inserts            dump data as INSERT, rather than COPY, commands
    
      -D, --column-inserts     dump data as INSERT commands with column names
    
      -E, --encoding=ENCODING     dump the data in encoding ENCODING
    
      -n, --schema=SCHEMA         dump the named schema(s) only
    
      -N, --exclude-schema=SCHEMA do NOT dump the named schema(s)
    
      -o, --oids                  include OIDs in dump
    
      -O, --no-owner              skip restoration of object ownership
    
                                  in plain text format
    
      -s, --schema-only           dump only the schema, no data
    
      -S, --superuser=NAME        specify the superuser user name to use in
    
                                  plain text format
    
      -t, --table=TABLE           dump only matching table(s) (or views or sequences)
    
      -T, --exclude-table=TABLE   do NOT dump matching table(s) (or views or sequences)
    
      -x, --no-privileges         do not dump privileges (grant/revoke)
    
      --disable-dollar-quoting    disable dollar quoting, use SQL standard quoting
    
      --disable-triggers          disable triggers during data-only restore
    
      --use-set-session-authorization
    
                                  use SESSION AUTHORIZATION commands instead of
    
                                  ALTER OWNER commands to set ownership
    
      --gp-syntax                 dump with Greenplum Database syntax (default if gpdb)
    
      --no-gp-syntax              dump without Greenplum Database syntax (default if postgresql)
    
     
    
    Connection options:
    
      -h, --host=HOSTNAME      database server host or socket directory
    
      -p, --port=PORT          database server port number
    
      -U, --username=NAME      connect as specified database user
    
      -W, --password           force password prompt (should happen automatically)
    
     
    
    If no database name is supplied, then the PGDATABASE environment
    
    variable value is used.
    
     
    
    Report bugs to .

    创建备份目录 :

    [root@gp-master ~]# mkdir /gpbackup
    
    [root@gp-master ~]# chown  gpadmin.gpadmin /gpbackup/

    <1>表级别备份恢复
    #  备份szlsd_db数据库中的member表。 -t表名,-U用户,-W密码 -f输出的备份文件名字 

    $ pg_dump -t member -Uszlsd -W szlsd_db -f /gpbackup/member.dmp 

    # 恢复数据

    $ psql szlsd_db -Uszlsd -W 

    <2>database级别备份恢复
    #  备份database,szlsd_db是库名 

    $ pg_dump szlsd_db -Ugpadmin -W  -f /gpbackup/szlsd_db.dmp   

     # 删除szlsd_db数据库
    若用户连接数据库,那么无法删除该数据库,否则会报错 

    szlsd_db=> drop database szlsd_db;
    
    ERROR:  cannot drop the currently open database

    这里使用gpadmin用户删除szlsd_db数据库 

    testDB=# drop database szlsd_db;
    
    DROP DATABASE
    
    testDB=# \c
    
    You are now connected to database "testDB" as user "gpadmin".

    需创建database 

    testDB=# \c
    
    You are now connected to database "testDB" as user "gpadmin".
    
    testDB=# create database szlsd_db with owner=szlsd  template=template0 ;
    
    CREATE DATABASE

    # 数据恢复,--single-transaction表示整个恢复过程是一个事务,要么成功要么回滚。
    # 另外,导入的用户必须有superuser权限。恢复成功后,别忘了运行ANALYZE收集统计信息。 

    $ psql --single-transaction szlsd_db 

    <3>schema级别备份恢复
    # 备份database中的schema。-n 表示schema。public是所有database中默认的schema。这里要备份szlsd_db中的temp schema。 

    $ pg_dump szlsd_db -n temp -Uszlsd -W -f /gpbackup/temp.dmp  

    # 删除schema 

    szlsd_db=> drop schema temp cascade;
    
    NOTICE:  drop cascades to table temp.a
    
    DROP SCHEMA

    # 恢复schema(无需手动创建schema) 

    $ psql --single-transaction szlsd_db -Uszlsd -W 

    确认temp schema已恢复 

    szlsd_db=> \dn
    
           List of schemas
    
            Name        |  Owner  
    
    --------------------+---------
    
     gp_toolkit         | gpadmin
    
     information_schema | gpadmin
    
     pg_aoseg           | gpadmin
    
     pg_bitmapindex     | gpadmin
    
     pg_catalog         | gpadmin
    
     pg_toast           | gpadmin
    
     public             | gpadmin
    
     temp               | szlsd
    
    (8 rows)

    <4>pg_dump其他常用参数 

    -T, --exclude-table=TABLE   do NOT dump matching table(s) (or views or sequences)
    
    -N, --exclude-schema=SCHEMA do NOT dump the named schema(s)

    2、pg_dumpall
    上面说了,gp_dump同时只能备份一个数据库。为了解决这个问题,就要使用pg_dumpall工具,它备份每个数据库和角色、表空间定义。
    执行pg_dumpall需要超级用户权限。
     

     $ pg_dumpall --help
    
    pg_dumpall extracts a PostgreSQL database cluster into an SQL script file.
    
     
    
    Usage:
    
      pg_dumpall [OPTION]...
    
     
    
    General options:
    
      -f, --file=FILENAME      output file name
    
      -i, --ignore-version     proceed even when server version mismatches
    
                               pg_dumpall version
    
      --help                   show this help, then exit
    
      --version                output version information, then exit
    
     
    
    Options controlling the output content:
    
      -a, --data-only          dump only the data, not the schema
    
      -c, --clean              clean (drop) databases before recreating
    
      -d, --inserts            dump data as INSERT, rather than COPY, commands
    
      -D, --column-inserts     dump data as INSERT commands with column names
    
      -f, --filespaces         dump filespace data
    
      -g, --globals-only       dump only global objects, no databases
    
      -o, --oids               include OIDs in dump
    
      -O, --no-owner           skip restoration of object ownership
    
      -r, --resource-queues    dump resource queue data
    
      -s, --schema-only        dump only the schema, no data
    
      -S, --superuser=NAME     specify the superuser user name to use in the dump
    
      -x, --no-privileges      do not dump privileges (grant/revoke)
    
      --disable-dollar-quoting
    
                               disable dollar quoting, use SQL standard quoting
    
      --disable-triggers       disable triggers during data-only restore
    
      --use-set-session-authorization
    
                               use SESSION AUTHORIZATION commands instead of
    
                               OWNER TO commands
    
      --gp-syntax              dump with Greenplum Database syntax (default if gpdb)
    
      --no-gp-syntax           dump without Greenplum Database syntax (default if postgresql)
    
     
    
    Connection options:
    
      -h, --host=HOSTNAME      database server host or socket directory
    
      -l, --database=DBNAME    alternative default database
    
      -p, --port=PORT          database server port number
    
      -U, --username=NAME      connect as specified database user
    
      -w, --no-password        never prompt for password
    
      -W, --password           force password prompt (should happen automatically)
    
     
    
    If -f/--file is not used, then the SQL script will be written to the standard
    
    output.
    
     
    
    Report bugs to .

    <1>导出所有role和tablespace 

    $ pg_dumpall  -g >/gpbackup/role_tbs.sql

    <2>导出所有database 

    $ pg_dumpall  >/gpbackup/all.dmp

    最后特别说一下,无论是pg_dump还是pg_dumpall,默认备份出的数据都不是SQL格式,而是COPY格式。-d, --inserts参数控制到底是SQL是COPY格式。
    下面是我从备份文件中摘出来的一段: 

    COPY member (id, name, gender, a, b) FROM stdin;
    
    1       tom     m       \N      \N
    
    3       tom3    m       \N      \N
    
    8       lily8   f       \N      \N
    
    2       tom2    m       \N      \N
    
    4       lily    f       \N      \N
    

     

    数据库保存在本地的时候有时会报错

    odoo备份数据库
    http://ip/web/data/manager
    选择backup,输入密码admin
    提示:Database backup error: Access denied(这个错误很常见)

    1、处理:登陆odoo服务器,修改/etc/openerp_server.conf更改数据库维护的Master password; 管理员主控密码(用于创建、还原和备份数据库等操作)
    admin_passwd = admin
    保存文件后运行:service odoo restart 重启动odoo配置生效
    重试备份数据库 http://ip/web/data/manager
    backup数据库,输入Mastrer password:admin
    提示: Database backup error: Command `pg_dump` not found.
    尝试:在odoo服务器centos上安装postgresql/pg_dump,在终端中:yum -install postgresql

    安装了pg_dump执行备份结果提示:Database backup error: Postgres subprocess ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpGs8RYD/dump.sql', u'gsola') error 1 

    2、odoo数据库duplicate操作:

    odoo数据库管理的duplicate数据库,是将所选数据库在同一个服务器上复制一份不同名称的克隆,用于测试或者联系等用途。

    http://ip/web/data/manager
    选择duplicate,输入密码admin,新数据库名称例如:lianxi,完成后会多出一个数据库“lianxi”共登陆或者操作室选择,表示duplicate成功。

     

    3、odoo数据库的restore操作
    http://ip/web/data/manager
    选择restore

     

    4、登陆freebsd+postgresql服务器
    用pg_dump 备份,用pg_restore 恢复,这两个命令是postgresql系统自带的。

    备份前停止odoo服务器:

    # Stop OpenERP Server
    /etc/init.d/openerp-server stop
    # start OpenERP Server
    /etc/init.d/openerp-server start

     

    使用tar格式备份和恢复:

    pg_dump -U username -Ft TestDb1>TestDb1.tar

    没有testDb2则需要先创建:createdb testDb2,或者使用-C --create选项

    pg_restore -U username -c -d TestDb2 TestDb1.tar 

    对odoo来说需要先记住原来的数据库名和拥有者的用户名,然后删除之,再建同名同拥有者的数据库,然后恢复。或者-c --clean使用此选项,恢复对象前先删除。(此选项会出现错误提示,但是经过先备份后删除几个项目然后恢复,证明删除项正确恢复了)

     

    5、在客户端pgAdminIII可以备份数据库

     

    6、客户端pgAdmin带的pg_dump 备份,psql恢复,程序在pgadmin的安装目录。
    备份:

    pg_dump -h 192.168.12.40 -U uhml gsola > e:\gsola.bak

    指令解释: 
    pg_dump 是备份数据库指令,
    192.168.12.40是数据库的ip地址(必须保证数据库允许外部访问的权限,如果是本地可以用localhost)
    uhml是数据库的用户名
    gsola是数据库名。
    > 意思是导出到e:\gsola.bak文件里,如果没有写路径,单单写gsola.bak文件名,那么备份文件会保存在
    当前目录
    恢复:

    psql -h 192.168.12.40 -c -U uhml -d gsola < e:\gsola.bak 

    指令解释: 
    psql是恢复数据库命令
    192.168.12.40 是数据库的ip地址(必须保证数据库允许外部访问的权限,如果是本地可以用localhost)
    uhml是数据库的用户名
    gsola是要恢复到哪个数据库
    < 的意思是把e:\gsola.bak文件导入到指定的数据库里
    -c --clean 选项恢复对象前先删除。
    以上所有的是针对windows,在linux里依然有效。

     

    7、备份策略:多级异地异种备份
    保证系统的数据的备份存在3个以上不同位置不同介质的备份
    选择一个异地一个本地备份点,自动备份
    移动备份/磁带备份:定期备份

     

    8、pg_rman备份

     

    9、barman备份
    异常处理:
    删除有活动链接的数据库:
    如果数据库尚有活动连接,则drop数据库时会失败并有错误提示。

    postgres=# DROP DATABASE testdb;
    
    ERROR: database "testdb" is being accessed by other users
    DETAIL: There are 3 other sessions using the database.
    可以先用下面的语句把testdb的活动连接中止,然后再DROP数据库就可以了。
    postgres=# SELECT pg_terminate_backend(pid)
    postgres-# FROM pg_stat_activity
    postgres-# WHERE datname='testdb' AND pid<>pg_backend_pid();
    
    pg_terminate_backend
    ----------------------
    t
    t
    t
    (3 rows)

    pg_stat_activity是一个系统视图,表中的每一行代表一个服务进程的属性和状态。
    boolean pg_terminate_backend(pid int)是一个系统函数,用于终止一个后端服务进程。
    int pg_backend_pid()系统函数用于获取附加到当前会话的服务器进程的ID
    使用的数据库版本PostgreSQL 9.3
     

     

     

     

     

    展开全文
  • 管理数据库还有更多的命令值得我们学习。虽然 Odoo 服务可以自动地进行数据库管理, 我们还是可以使用如下命令来手动创建PostgreSQL 数据库: createdb MyDB 更有趣的是, Odoo 可以通过–template 参数拷贝已有...

    前面我们学习了如何通过命令行创建和初始化 Odoo 数据库。管理数据库还有更多的命令值得我们学习。虽然 Odoo 服务可以自动地进行数据库管理, 我们还是可以使用如下命令来手动创建PostgreSQL 数据库:

    createdb MyDB

    更有趣的是, Odoo 可以通过–template 参数拷贝已有数据库来创建新的数据库。要进行这一操作,被拷贝的数据库不能被连接,所以要确保 Odoo 实例已停止并且没有其它应用连接该数据库。命令如下:

    createdb --template=MyDB MyDB2

    事实上,每当创建数据库时都会使用一个模板,如果没有指定模板,会使用一个名为template1 的预设模板。要在系统中列出已有数据库,需要使用 PostgreSQL 的 psql 工具及-l 参数:

    psql -l

    执行上述命令会列出我们截至目前所创建的数据库。如果执行了前述操作,可以看到列表中有MyDB 和 MyDB2。列表中还会显示 每个数据库所使用的编码,默认为 UTF-8,这也是 Odoo所需要的数据库编码。如需删除数据库,执行 dropdb 命令:

    dropdb MyDB2

    现在我们已学习了数据库的基本知识。要了解更多 PostgreSQL 请参见官方文档或 PostgreSQL使用汇总。
    “ 警告: dropdb 操作是不可撤销的,在对重要数据库执行该命令时请务必备份数据库”

    更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/odoo12-teach/

    展开全文
  • odoo数据库默认管理地址

    千次阅读 2018-01-24 14:05:36
    odoo数据库默认管理地址:/web/database/manager
    odoo数据库默认管理地址:/web/database/manager
    展开全文
  • Odoo数据库管理

    2021-07-07 16:45:26
    我们可以通过 localhost:8069访问odoo服务,那么数据库管理界面的访问地址是localhost:8069/web/database/manager,输入后将会看到如下图所示的界面 其中包含【Create Database】 【Restor..
  • odoo 数据库连接层

    2021-04-28 22:00:16
       odoo数据库连接层功能是连接odoo code与数据库,在odoo.sql_db文件中实现,区别与ORM。 二、涉及的类    涉及的类主要有:①Cursor,cr变量所指向的对象②Environment,可以访问访问cr、uid、context、注册...
  • odoo数据库升级

    千次阅读 2015-04-28 13:24:32
    必须先停止odoo服务,openerp-server 为你安装时启动脚本的名称 2 . 更换代码,首先备份现有的代码到新建的目录odoo_history, ...... 升级绿色版: 1. 以windows为服务器; 2. 以ubuntu为服务器;
  • PostgreSQL是Odoo开源ERP系统的指定数据库,本文整理介绍了PostgreSQL的相关特性 PostgreSQL 是一个功能强大的开源数据库系统。经过长达 20 年以上的积极开发和不断改PostgreSQL 已在可靠性、稳定性、数据一致性等...
  • Odoo数据库迁移后记

    2019-12-21 23:28:43
    由于云服务器到期,所以需要对生产环境对数据库进行一个迁移,生产环境大概有10万条的产品数据,上千条的销售数据以及附件,迁移起来还是得花点时间了。 1.旧环境操作过程 操作系统为ubuntu16.04 服务为 odoo...
  • odoo 9.0的数据库备份总结

    万次阅读 2016-06-21 23:41:28
    备份策略:阶段性备份+特定事件备份。周期性自动备份+手动检查+自动通知。 官方参考:...、odoo备份数据库http://ip/web/data/manager 选择backup,输入密码admin 提
  • 1.3 数据库简介 每一个独立核算的企业都有一套相互关联的账簿体系, 把这一套完整的账簿体系建立在计算机系统中就称为一个数据库。 一般一个企业只用一个数据库。...在真正开始使用Odoo之前,你首先需要创建一...
  • 1、去除登录页面的数据库等连接,如下图: 方法一: ①、修改odoo.conf 文件里面的 list_db = True,将其修改‘False’即可: ...注意:该方法仅去除数据库管理。 ②、去除‘由Odoo提供支持’: ...
  • 我们还没有创建数据库,但是我们发现,数据库管理页面的logo是odoo数据库页面全是英文的,对于我们国内用户来说,这是不太友好的。我们想要自定义这个数据库页面,有没有办法?答案是肯定的。 本节代码 git clone ...
  • 登录页隐藏“数据库管理odoo支持” 修改 odoo.conf 文件 list_db = False 修改 addons/web/views/webclient_templates.xml 注释掉以下代码 <!-- <div class="text-center small mt-4 pt-3 border-top...
  • 去除登录页面的数据库等连接...注意:该方法仅隐藏数据库管理。 ②、去除‘由Odoo提供支持’: A、激活开发者模式–>设置–>技术–>用户界面–>视图: B、搜索框输入“login_layout”: C、进入"Logi...
  • 我们还没有创建数据库,但是我们发现,数据库管理页面的logo是odoo数据库页面全是英文的,对于我们国内用户来说,这是不太友好的。我们想要自定义这个数据库页面,有没有办法?答案是肯定的。 本节代码 git ...
  • Odoo中安装website模块后如何进入数据库管理界面 标签: OdoowebsiteManage Databases 2014-10-27 01:02 4876人阅读 评论(0) 收藏 举报 分类: Odoo(OpenERP)(34) 版权声明:...
  • 例子 - 去除登陆页面的Powered by Odoo链接从上面的第3步,我们可以看到,最后登录界面是由'web.login' 模板来显示的,通过odoo的继承方式,我们很容易的就可以去除这个链接,通过查找,这个链接实际是出现在'web....
  • odoo 13.0教程(PostgreSQL 数据库

    千次阅读 2019-11-18 17:37:26
    odoo使用的数据库是PostgreSQL,如何使用,请参考文档: PostgreSQL 教程 因为之前一直使用的是sql server,忍不住来做一个对比。 登录 可以看到,PostgreSQL没有设置服务器地址的地方,如果要指定访问的...
  • odoo默认的数据库为postgresql数据库, PG是个非常强大的数据库,也是未来的一个趋势。 对于odoo的数据备份,odoo提供了自己的备份方式, 1. 从前台页面。输入odoo应用访问地址,例如:192.168.1.188:8069/web/...
  • Odoo9没有在用户的设定里勾上技术特性的选项了,关于-&gt;激活开发者模式 之后,技术特性的菜单就出现了。  所以,安装自定义module的时候,需要在应用里更新应用列表的话,必须先...备份数据库的时候,报如...
  • ODOO Database creation error: Access denied

    千次阅读 2018-03-27 09:40:07
    问题:创建数据库时 提示:Database creation error: Access denied 错误分析:master 账号密码没错,可以复制数据库,就是不能创建。方法: 在odoo.conf,将 master 的...失败截图服务器配置截图:odoo管理数据库有...
  • 1.设置密码:在登录页面找到管理数据库。 2.在数据库页面会出现设置密码,可以设置密码。 3.当我们设置的密码忘记时可以在后台代码中找到odoo.conf文件。 找到已经带过密码的odoo.conf文件。替换文件中的 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 989
精华内容 395
关键字:

odoo管理数据库