I have a Postgres database managed by AWS RDS. I'd like to get a copy of that database (data, structure, etc) and create a local Postgres database.
I cannot ssh onto the database instance.
Essentially I want to do something like:
pg_dump RDS database
download pg_dump file
pg_restore file
Related
I have a Database Named Test_DB on MongoDB On Docker Container
How Can I Export Test_DB from MongoDB on Docker To a JSON or CSV File?
please help me on details
e.g: how can select MongoDB container and how can I export. I found mongoexport and I tested it But it says: MongoDB error network is unreachable’
I have to backup a PostgreSQL database using this command:
sudo pg_dumpall -a mydb > app111618.bak
After I type that command, I get this error:
`pg_dumpall: too many command-line arguments (first is "mydb")`
In the command it say this:
Try pg_dumpall --help for more information.
How can I fix this?
pg_dumpall is a tool to dump all databases, so it doesn't support specifying a database name (assuming that mydb is the name of the database you want to dump).
If you want to dump only a single database, use pg_dump instead:
pg_dump -a mydb > app111618.bak
If you did intend to dump all databases, just leave out the database name:
pg_dumpall -a > app111618.bak
I'm trying to set up custom Postgres credentials with Travis CI as I'd like to avoid the existing credentials definition in the code to be tested.
The testing code defines that the database should be accessed on:
'sqlalchemy.url': 'postgresql://foo:bar#localhost/testing_db'
I've therefore created a database.travis.yml file:
postgresql: &postgresql
adapter: postgresql
username: foo
password: bar
database: testing_db
...and added the following to my .travis.yml:
services:
- postgresql
before_script:
- psql -c 'create database stalker_test;' -U postgres
- mkdir config && cp database.travis.yml config/database.yml
However, I am still getting this during testing:
OperationalError: (psycopg2.OperationalError) FATAL: role "foo" does not exist
What am I doing wrong?
Adding the following to .travis.yml solved my issue. No need for a database.travis.yml file.
before_script:
- psql -c "CREATE DATABASE testing_db;" -U postgres
- psql -c "CREATE USER foo WITH PASSWORD 'bar';" -U postgres
Database.yml seems to be a Ruby On Rails thing. Travis CI started with rails / ruby testing, so the docs might be reflecting that.
You most probably need to do your setup in a separate script or migration setup, and not rely on travis, except for running the service.
I have a rails app that has a model called 'Opportunity'. Say this model has several records stored in the database on my local development environment and I now want to deploy the app. With it, I want all the data in my local database to be deployed as well.
Is this possible? I have looked at rake tasks and seeding but both do not seem to be quite what I want.
Thanks so much for your help.
For postgres the command to export your database is called pg_dump
To dump a database:
$ pg_dump mydb > db.out
To reload this database:
$ psql -d database -f db.out
why cant you take table dump of development db and import it in production db
For mysql
in development :
mysqldump -u username -p developmentdb tablename > for_production.sql
in production:
mysql -u username -p productiondb < for_production.sql
How do I find out what is my database's username in my local machine? I'm updating my database.yml file in my rails application, but anything I try isn't working.
When trying to use postgres (or other options such as mymacusername) I'm getting the following error:
FATAL: role "postgres" does not exist
Do I need to create it? How? Or can I use an existing username on my computer?
Update:
I am trying to create a user (this is soon after installation so the issue may be that it doesn't exist yet)
I ran createuser -s -U $USER
Name of role to add: postgres
But am getting the following error:
createuser: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
So this is the problem - How do I make it listen to the correct socket?
if you have root access:
sudo -u postgres psql DATABASENAME
inside it type
\l
to show all databases and its users
We simply need to create postgres role.
Commands to create a role name postgres:
1.sudo -u postgres psql
2.CREATE ROLE postgres WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'password'