เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ
Moderator: mindphp
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 07/02/2022 12:54 pm
ได้ทำการ backup ข้อมูล
โดใช้คำสั่ง
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>pg_dump.exe --host localhost --port 5432 --username "openpg" --verbose --file "E:\file.dump" "dbName"
Password:
หลังจากรัน ผลการรันขึ้นมาตามนี้ค่ะ
pg_dump: last built-in OID is 16383
pg_dump: reading extensions
pg_dump: identifying extension members
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: reading user-defined functions
pg_dump: reading user-defined types
pg_dump: reading procedural languages
pg_dump: reading user-defined aggregate functions
pg_dump: reading user-defined operators
pg_dump: reading user-defined access methods
pg_dump: reading user-defined operator classes
pg_dump: reading user-defined operator families
pg_dump: reading user-defined text search parsers
pg_dump: reading user-defined text search templates
pg_dump: reading user-defined text search dictionaries
pg_dump: reading user-defined text search configurations
pg_dump: reading user-defined foreign-data wrappers
pg_dump: reading user-defined foreign servers
pg_dump: reading default privileges
pg_dump: reading user-defined collations
pg_dump: reading user-defined conversions
pg_dump: reading type casts
pg_dump: reading transforms
pg_dump: reading table inheritance information
pg_dump: reading event triggers
pg_dump: finding extension tables
pg_dump: finding inheritance relationships
pg_dump: reading column info for interesting tables
pg_dump: flagging inherited columns in subtables
pg_dump: reading indexes
pg_dump: flagging indexes in partitioned tables
pg_dump: reading extended statistics
pg_dump: reading constraints
pg_dump: reading triggers
pg_dump: reading rewrite rules
pg_dump: reading policies
pg_dump: reading publications
pg_dump: reading publication membership
pg_dump: reading subscriptions
pg_dump: reading large objects
pg_dump: reading dependency data
pg_dump: saving encoding = UTF8
pg_dump: saving standard_conforming_strings = on
pg_dump: saving search_path =
pg_dump: creating ACL "SCHEMA public"
เข้าไปดูในฐานข้อมูล กลับไม่มีขข้อมูลเข้ามาเลยค่ะ ที่ table ข้อมูลว่างเลย
PostgreSQL-1.png (12.02 KiB) Viewed 2665 times
PostgreSQL-1.png (18.46 KiB) Viewed 2664 times
แก้ไขล่าสุดโดย
norisa_dl เมื่อ 08/02/2022 11:33 am, แก้ไขไปแล้ว 1 ครั้ง.
MBMoo
PHP VIP Members
โพสต์: 32629 ลงทะเบียนเมื่อ: 04/06/2020 10:05 am
โพสต์ที่ยังไม่ได้อ่าน
โดย MBMoo » 07/02/2022 2:05 pm
ลองใช้ restore ผ่านทางหน้า ระบบ openerp หรือยังคะ
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 07/02/2022 2:56 pm
ลองทำที่เมนู backup ค่ะ ไม่ได้
PostgreSQL-1.png (14.18 KiB) Viewed 2657 times
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 08/02/2022 10:45 am
อันนี้จากที่ได้ลองรันคำสั่งใหม่นะคะ
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>pg_restore -U openpg -d dbName-1 -f E:\file.dump
pg_restore: options -d/--dbname and -f/--file cannot be used together
Try "pg_restore --help" for more information.
จากนั้นลองรันคำสั่ง pg_restore --help จะมีบอกการใช้งานให้อยู่ในแพทเทิน pg_restore [OPTION]... [FILE]
PostgreSQL-2.png (1.87 KiB) Viewed 2640 times
จึงลบ option -f ออก ใส่เเค่ชื่อไฟล์ dump เท่านั้น จะได้ตามนี้
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>pg_restore -U openpg -d dbName-1 E:\file.dump
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.
ไฟล์ dump เป็น text format ให้ใช้เป็น psql แทน
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>psql -U openpg -d dbName-f E:\file.dump
could not determine encoding for locale "Thai_Thailand.utf8": codeset is "CPutf8"
Password for user openpg: 'ใส่รหัส user'
#ผลที่ได้
could not determine encoding for locale "Thai_Thailand.utf8": codeset is "CPutf8"
SET
SET
psql:E:/file.dump:12: ERROR: unrecognized configuration parameter "idle_in_transaction_session_timeout"
SET
SET
set_config
------------
(1 row)
SET
SET
SET
REVOKE
REVOKE
GRANT
GRANT
ไม่ทราบว่าพอจะมีวิธีอื่นอีกไหมคะ
แก้ไขล่าสุดโดย
norisa_dl เมื่อ 08/02/2022 11:34 am, แก้ไขไปแล้ว 1 ครั้ง.
MBMoo
PHP VIP Members
โพสต์: 32629 ลงทะเบียนเมื่อ: 04/06/2020 10:05 am
โพสต์ที่ยังไม่ได้อ่าน
โดย MBMoo » 08/02/2022 10:49 am
ลองเป็นคำสั่งนี้ดูนะคะ
โค้ด: เลือกทั้งหมด
psql -U postgres -p 5432 -h 127.0.0.1 -d demo_4_2_65_2 < dump.sql
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 08/02/2022 10:54 am
bolue เขียน: ↑ 08/02/2022 10:49 am
ลองเป็นคำสั่งนี้ดูนะคะ
โค้ด: เลือกทั้งหมด
psql -U postgres -p 5432 -h 127.0.0.1 -d demo_4_2_65_2 < dump.sql
คำสั่งนี้ลองรันเเล้วค่ะ จะได้ผลลัพท์เท่ากับผลสุดท้ายตามที่แจ้งไปอ่าค่ะ
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>psql -U openpg -p 5432 -h 127.0.0.1 -d dbName< E:\file.dump
Password for user openpg:
SET
SET
ERROR: unrecognized configuration parameter "idle_in_transaction_session_timeout"
SET
SET
set_config
------------
(1 row)
SET
SET
SET
REVOKE
REVOKE
GRANT
GRANT
แก้ไขล่าสุดโดย
norisa_dl เมื่อ 08/02/2022 11:35 am, แก้ไขไปแล้ว 1 ครั้ง.
mindphp
ผู้ดูแลระบบ MindPHP
โพสต์: 48092 ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:
โพสต์ที่ยังไม่ได้อ่าน
โดย mindphp » 08/02/2022 11:00 am
ปัญหาน่าจะมีจาก encoding ครับ
ตาม Error ตรงนี้
could not determine encoding for locale "Thai_Thailand.utf8": codeset is "CPutf8"
ลองสร้างฐานข้อมูล ขึ้นมาก่อนจาก pgadmin แล้วลองดู property ของฐานข้อมูลตาม default มาดูหน่อยครับ
ปัญหานี้อาจต้องตั้งค่า default ฐานข้อมูลก่อน หรือสร้างฐานข้อมูลโดยกำหนด property ให้ตรงกับที่ backup มา
หรือใช้ options อื่นๆตอน restore (แต่วิธีนี้ไม่แนะนำเพราะว่าจะทำให้โครงสร้างไม่เหมือนต้นฉบับ)
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 08/02/2022 11:07 am
SQL - Database-1.png (53.31 KiB) Viewed 2622 times
ฐานที่ที่สร้างมา เป็นประมาณนี้ค่ะ
แก้ไขล่าสุดโดย
norisa_dl เมื่อ 08/02/2022 11:37 am, แก้ไขไปแล้ว 1 ครั้ง.
mindphp
ผู้ดูแลระบบ MindPHP
โพสต์: 48092 ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:
โพสต์ที่ยังไม่ได้อ่าน
โดย mindphp » 08/02/2022 11:14 am
ลองตั้ง default Collation กับ Character type ใหม่ครับ
norisa_dl
PHP VIP Members
โพสต์: 2486 ลงทะเบียนเมื่อ: 19/04/2021 9:57 am
โพสต์ที่ยังไม่ได้อ่าน
โดย norisa_dl » 08/02/2022 11:28 am
ตรง default Collation จะมีตัวเลือกให้เลือก 3 ตัว ตามรูปค่ะ
SQL - Database-1.png (34.04 KiB) Viewed 2606 times
Character type จะมีตัวเลือกรูปแบบเดียวกันเหมือน default Collation
ลองสร้างฐานใหม่ ตั้งตามนี้และไม่ได้เลือกเทมเพลต
SQL - Database-2.png (23.75 KiB) Viewed 2606 times
จะเเจ้งเออเร่อ
ERROR: new collation (C) is incompatible with the collation of the template database (English_American Samoa.1252)
HINT: Use the same collation as in the template database, or use template0 as template.
SQL - Database-1.png (25 KiB) Viewed 2606 times
จึงเลือกเทมเพลตเป็น template0 ตอนรันคำสั่ง restore ในคอมมานไลน์ก็ได้ผลลัพธ์แบบเดียวกัน
โค้ด: เลือกทั้งหมด
C:\Program Files (x86)\pgAdmin 4\v4\runtime>psql -U openpg -p 5432 -h 127.0.0.1 -d dbName< E:\file.dump
Password for user openpg:
SET
SET
ERROR: unrecognized configuration parameter "idle_in_transaction_session_timeout"
SET
SET
set_config
------------
(1 row)
SET
SET
SET
REVOKE
REVOKE
GRANT
GRANT
ปล. ขออนุญาตแก้ไขโพสต์ก่อนหน้าเนื่องจากมีชื่อบริษัทของลูกค้าให้เห็นด้วย
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 0